• ベストアンサー

フルパスの取得

あるフォルダの中にあるすべてのファイル(サブフォルダ内のファイルを含めて)のフルパスを取得するにはどうしたらよいのでしょうか?これはFSOで実現できるのでしょうか?それともFSOなど使わなくてもできるのでしょうか? よろしくお願いします。 (使っているのはVB6.0です)

質問者が選んだベストアンサー

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

ファイルの再帰検索については、以前このサイトにお遊びで作ったコードを投稿したことがあります。 え~っと、コレ(↓)ですね。 バグ取りもしてない雑なコードですが、参考にはなると思います。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=38626
nazenaze
質問者

お礼

早速の回答ありがとうございます。 まだ、内容の解析はしていませんが、参考になりそうです。

その他の回答 (3)

  • KojiS
  • ベストアンサー率46% (145/312)
回答No.3

フォルダの階層をたどりたいということですね? 1.指定されたフォルダのファイルを調べる。 2.そのフォルダのファイルを全て調べ終わったら終了する。 3.サブフォルダが見つかったらそのサブフォルダに対してまた調べる。 という処理を繰り返すことになります。 方法として、 ・再帰 ・アルゴリズムの工夫(再帰無し) の2種類あります。 典型的な再帰処理のアルゴリズムですね。 これがヒントです。 がんばってください。

nazenaze
質問者

お礼

アドバイスありがとうございます。 再起処理について考えてみます。 このヒントでわからなければ、また質問すると思います。

nazenaze
質問者

補足

もし、これだ! という回答があれば、よろしくお願いします。

noname#9414
noname#9414
回答No.2

補足読みました。 ユーザが指定したディレクトリ内にあるファイルを 全て取得するのでしたら、それこそフルパスはユーザが 指定したものでいいのではないでしょうか? あとは、如何にファイルを取得するかですよね。 #その後にフルパスをつけたファイル名を表示する #のであれば、指定したディレクトリ名を前につければ #いいと思いますよ。 ディレクトリの中を検索したいのであれば、Dir関数を 使用すればいいと思いますよ。使用例はMSDNに書いて あるので、それを参考にしてください。 ではでは☆

nazenaze
質問者

お礼

また早速の回答ありがとうございます。

nazenaze
質問者

補足

たしかにDir関数を使用すれば、フォルダ内のファイルは容易に取得できるとはおもうのですが、サブフォルダ内にのさらにサブフォルダ内にあるファイル名をすべて取得しようとした場合、どうしたらよいのでしょうか? できましたら、もう少しヒントを頂けるとありがたいのですが。よろしくお願いします。

noname#9414
noname#9414
回答No.1

ディレクトリが分かっているのですから、別に取得 する必要がないのでは? あるフォルダ内という風に限定しているのですから そのフォルダの位置は分かっているんですよね。 #サブディレクトリなら、その分かっているフォルダに #サブディレクトリ名をつけるだけだし。 ファイルの場所が分かっていれば、ディレクトリも 分かっているはずだし。 #少なくともVCでは問題でないよな。 私は何か勘違いしているのかな? ではでは☆

nazenaze
質問者

お礼

早速の回答ありがとうございます。

nazenaze
質問者

補足

一つの特定ファイルを指定するだけならば、Kanataさんのいうとおりかもしれません。しかし、ユーザが指定したフォルダ内にある全ファイル名を取得しようとした場合、どのようにしたらよいかということなのですが…。 VCで問題ないかもしれませんが、VBで知りたいのでよろしくお願いします。

関連するQ&A