こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBでのファイル検索について。

VB.NET初心者です。
プログラム内でとある拡張子のファイルだけを検索してListViewに表示させたいのですが、プログラム自体の都合で、特定のディレクトリだけを検索する、という事ができません。
(そこの部分はまた別の話なので省略^^;)
System.IO.Directory.GetFiles~という物を使って上記の様な設定は可能でしょうか?

よくわからない文章ですが、よろしくお願いします。

投稿日時 - 2005-04-06 16:45:26

QNo.1315181

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

ということは検索対象のパスをその都度指定するという仕様にしたいということで良いんですよね?

TreeViewだったらSelectedNode.FullPathとかでその選択ノードのフルパスは取得できますので
System.IO.Directory.GetFiles(TreeView1.SelectedNode.FullPath)
とかではダメなんでしょうか?

あとはそうやって取得したファイルを一つ一つ拡張子で判別し、通ったパスのみListViewにAddするという手順になると思います。

投稿日時 - 2005-04-07 15:34:31

お礼

早い回答ありがとうございます。
手順は教えていただいた通りで可能だと思うのですが、肝心のフルパス取得で「指定されたパスのフォーマットはサポートされていません」と弾かれてしまいます。

調べが足りていないのですが、どうやらTreeViewの表示が[C:\]ではなく、例えば[ローカルディスク(C:)]となっている事に関係がありそうなんですが・・・。
(自分で納得していないので忘れてください)

何度も申し訳ないです・・・。

投稿日時 - 2005-04-07 18:00:50

ANo.1

「どこそこ」から「なになに」を探せという場合に、「どこそこ」が無いにも関わらず「なになに」を探すことが出来ますかということでしょうかね??
これって禅問答の部類ですよ。

場所が指定できなくても例えば最低限"C:\"とか指定をするしかないです。
方法はDirectryクラスを使ってもいいですし、FileSystemObjectを使ってもいいですが。

Directryクラスの使い方
http://dobon.net/vb/dotnet/file/getfiles.html

投稿日時 - 2005-04-07 13:04:15

お礼

返答ありがとうございます。

「どこそこ」が無い、というのは、その度に探す場所が変わるからなんです。
前に省略した部分の事なんですが、エクスプローラを表示した時と同じようにTreeViewで表示されたディレクトリを選択した場合に、その中から指定したファイルを探したい・・・という仕組みなんです。
C:\だけでなく、AやらDやらでも探せるようにしたいので・・・。

変な質問をしてしまって申し訳ありません。

投稿日時 - 2005-04-07 13:12:19

あなたにオススメの質問