- 締切済み
VBでのファイル検索について。
VB.NET初心者です。 プログラム内でとある拡張子のファイルだけを検索してListViewに表示させたいのですが、プログラム自体の都合で、特定のディレクトリだけを検索する、という事ができません。 (そこの部分はまた別の話なので省略^^;) System.IO.Directory.GetFiles~という物を使って上記の様な設定は可能でしょうか? よくわからない文章ですが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- popesyu
- ベストアンサー率36% (1782/4883)
ということは検索対象のパスをその都度指定するという仕様にしたいということで良いんですよね? TreeViewだったらSelectedNode.FullPathとかでその選択ノードのフルパスは取得できますので System.IO.Directory.GetFiles(TreeView1.SelectedNode.FullPath) とかではダメなんでしょうか? あとはそうやって取得したファイルを一つ一つ拡張子で判別し、通ったパスのみListViewにAddするという手順になると思います。
- popesyu
- ベストアンサー率36% (1782/4883)
「どこそこ」から「なになに」を探せという場合に、「どこそこ」が無いにも関わらず「なになに」を探すことが出来ますかということでしょうかね?? これって禅問答の部類ですよ。 場所が指定できなくても例えば最低限"C:\"とか指定をするしかないです。 方法はDirectryクラスを使ってもいいですし、FileSystemObjectを使ってもいいですが。 Directryクラスの使い方 http://dobon.net/vb/dotnet/file/getfiles.html
お礼
返答ありがとうございます。 「どこそこ」が無い、というのは、その度に探す場所が変わるからなんです。 前に省略した部分の事なんですが、エクスプローラを表示した時と同じようにTreeViewで表示されたディレクトリを選択した場合に、その中から指定したファイルを探したい・・・という仕組みなんです。 C:\だけでなく、AやらDやらでも探せるようにしたいので・・・。 変な質問をしてしまって申し訳ありません。
お礼
早い回答ありがとうございます。 手順は教えていただいた通りで可能だと思うのですが、肝心のフルパス取得で「指定されたパスのフォーマットはサポートされていません」と弾かれてしまいます。 調べが足りていないのですが、どうやらTreeViewの表示が[C:\]ではなく、例えば[ローカルディスク(C:)]となっている事に関係がありそうなんですが・・・。 (自分で納得していないので忘れてください) 何度も申し訳ないです・・・。