| ■No88894 (魔界の仮面弁士 さん) に返信 > 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()
回答ありがとうございます。
逆に、拡張子のみ取得する場合はどうすればよろしいでしょうか。 調べたら、以下のコードが出てきましたが。。。
System.IO.Path.GetExtension( _ "C:\My Documents\My Pictures\サンプル.jpg"))
追加で申し訳ないのですが、教えて下さい。 |