- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーバー上のすべてのファイル)
サーバー上のすべてのファイルを取得する方法
このQ&Aのポイント
- Visual Basic6を使用してFTPソフトのようなプログラムを作成中です。現在はFtpFindFirstFileやInternetFindNextFileを使用してファイルの一覧を取得しています。
- しかし、サブフォルダ内にあるファイルも取得したい場合、どのようにすればいいでしょうか?exe内で完結させたいため、basp21.FTPなどは使用しない方法を探しています。
- 参考になるページなどがありましたらご教示いただければ幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
1.「/フォルダの*を検索しろ」と、検索ルーチンを呼ぶ。 2.検索ルーチン内で、/フォルダの*を検索中にfolderフォルダを発見したら、再帰呼出で「/folder/フォルダの*を検索しろ」と、検索ルーチンから検索ルーチン自身を呼ぶ。 3.検索ルーチン内で、/folder/フォルダの*を検索中にsubfolderフォルダを発見したら、再帰呼出で「/folder/subfolder/フォルダの*を検索しろ」と、検索ルーチンから検索ルーチン自身を呼ぶ。 4.検索ルーチン内で、/folder/subfolder/フォルダの*を検索中にsubsubfolderフォルダを発見したら、再帰呼出で「/folder/subfolder/subsubfolder/フォルダの*を検索しろ」と、検索ルーチンから検索ルーチン自身を呼ぶ。 5.以下、ファイルやフォルダが見付からなくなるまで繰り返す。 Visual Basic6で「再帰呼出」を行う場合は、変数が「再帰呼出から復帰した際に内容が壊れてしまわないよう」に注意する事。特に、再帰関数の中ではグローバル変数は使えないので注意。
お礼
最初の階層とその他の階層で処理を分けて解決しました ありがとうございました
補足
ありがとうございます。 少ないファイルだと問題ないのですがファイルが多くなると スタック不足になります。 特にDoEventsを使ってないのですが なにか解決方法はないでしょうか? 以上よろしくお願いします