|
2018/10/11(Thu) 16:52:24 編集(投稿者)
■No88893 (mai さん) に返信 > 特定のフォルダ内にあるファイル(pdf.word)名を拡張子を除いて > 全て取得する方法を考えております。 > 自分が調べた限りでは、格納先のパスは取得できるのですが、 > ファイル名そのものを取得できません。どうすれば宜しいでしょうか。
受け取ったそれぞれのパスを Path.GetFileNameWithoutExtension に渡すことで、 拡張子の無いファイル名を得ることができます。
(例1) Dim target As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments Dim pdfFileNames As String() = Directory.EnumerateFiles(target, "*.pdf", SearchOption.AllDirectories).Select(AddressOf Path.GetFileNameWithoutExtension).ToArray()
(例2) Dim target As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments Dim files As String() = Directory.GetFiles(target, SearchOption.TopDirectoryOnly) For n = 0 To UBound(files) files(n) = Path.GetFileNameWithoutExtension(files(n)) Next
(例3) Dim target As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments Dim extList As String() = {".pdf", ".doc", ".docx", "docm"} Dim q = From p In Directory.GetFiles(target, "*.*", SearchOption.AllDirectories) Let ext = Path.GetExtension(p).ToLowerInvariant() Where extList.Contains(ext) Select Path.GetFileNameWithoutExtension(p) Dim pdfOrWordFiles As String() = q.ToArray()
|