• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーバー上のすべてのファイル)

サーバー上のすべてのファイルを取得する方法

このQ&Aのポイント
  • Visual Basic6を使用してFTPソフトのようなプログラムを作成中です。現在はFtpFindFirstFileやInternetFindNextFileを使用してファイルの一覧を取得しています。
  • しかし、サブフォルダ内にあるファイルも取得したい場合、どのようにすればいいでしょうか?exe内で完結させたいため、basp21.FTPなどは使用しない方法を探しています。
  • 参考になるページなどがありましたらご教示いただければ幸いです。

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

1.「/フォルダの*を検索しろ」と、検索ルーチンを呼ぶ。 2.検索ルーチン内で、/フォルダの*を検索中にfolderフォルダを発見したら、再帰呼出で「/folder/フォルダの*を検索しろ」と、検索ルーチンから検索ルーチン自身を呼ぶ。 3.検索ルーチン内で、/folder/フォルダの*を検索中にsubfolderフォルダを発見したら、再帰呼出で「/folder/subfolder/フォルダの*を検索しろ」と、検索ルーチンから検索ルーチン自身を呼ぶ。 4.検索ルーチン内で、/folder/subfolder/フォルダの*を検索中にsubsubfolderフォルダを発見したら、再帰呼出で「/folder/subfolder/subsubfolder/フォルダの*を検索しろ」と、検索ルーチンから検索ルーチン自身を呼ぶ。 5.以下、ファイルやフォルダが見付からなくなるまで繰り返す。 Visual Basic6で「再帰呼出」を行う場合は、変数が「再帰呼出から復帰した際に内容が壊れてしまわないよう」に注意する事。特に、再帰関数の中ではグローバル変数は使えないので注意。

SAY_MAN
質問者

お礼

最初の階層とその他の階層で処理を分けて解決しました ありがとうございました

SAY_MAN
質問者

補足

ありがとうございます。 少ないファイルだと問題ないのですがファイルが多くなると スタック不足になります。 特にDoEventsを使ってないのですが なにか解決方法はないでしょうか? 以上よろしくお願いします

関連するQ&A

専門家に質問してみよう