C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■88894 / )  Re[1]: フォルダ内のファイル名の取得について
□投稿者/ 魔界の仮面弁士 (1874回)-(2018/10/11(Thu) 11:34:05)
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()
返信 編集キー/


管理者用

- Child Tree -