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

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

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

Re[3]: フォルダ内のファイル名の取得について


(過去ログ 153 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■88893 / inTopicNo.1)  フォルダ内のファイル名の取得について
  
□投稿者/ mai (1回)-(2018/10/11(Thu) 10:51:57)

分類:[.NET 全般] 

分類:[.NET 全般]

特定のフォルダ内にあるファイル(pdf.word)名を拡張子を除いて
全て取得する方法を考えております。

自分が調べた限りでは、格納先のパスは取得できるのですが、
ファイル名そのものを取得できません。どうすれば宜しいでしょうか。
イメージとしては以下になります。

 Directory.GetFiles("C:\Users\")
  'Cドライブの特定のフォルダ内のファイルを全て取得する

 System.IO.Path.GetFileNameWithoutExtension("C:\Users\")
  '取得したファイルを拡張子を除いて変数に格納したい

プログラム関連の処理は初心者ですので、イマイチ伝わりづらいかもしれませんが、
何卒宜しくお願いします。
引用返信 編集キー/
■88894 / inTopicNo.2)  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()
引用返信 編集キー/
■88905 / inTopicNo.3)  Re[2]: フォルダ内のファイル名の取得について
□投稿者/ mai (3回)-(2018/10/12(Fri) 09:35:02)
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"))

追加で申し訳ないのですが、教えて下さい。
引用返信 編集キー/
■88909 / inTopicNo.4)  Re[3]: フォルダ内のファイル名の取得について
□投稿者/ リンク (2回)-(2018/10/12(Fri) 18:08:53)
No88905 (mai さん) に返信
> 逆に、拡張子のみ取得する場合はどうすればよろしいでしょうか。
> 調べたら、以下のコードが出てきましたが。。。
>
> System.IO.Path.GetExtension( _
> "C:\My Documents\My Pictures\サンプル.jpg"))
>
> 追加で申し訳ないのですが、教えて下さい。

それで良い気がしますが、結果が期待するものと違ってたりしますか?
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -