VBAで深さ優先探索アルゴリズム
前提
ルートのフォルダ名が"text"
その配下に0~5の数字のフォルダが配置され
さらにその下に0~9の数字のフォルダが配置されている
それが6*10*10*10*10の構成で存在してる
枝の先にのみ.txt形式の拡張子でテキストが配置されている。
そのテキストファイルを一つのフォルダに集約する想定
なんかいい感じの図はwikipedia参照
深さ優先探索 - Wikipedia
処理概要
フォルダ名を取得してそのうちの昇順で一番早いやつにまた潜りってのを
再帰関数で延々と繰り返してく
ちなみにこんな単純なんならバッチでやれよって話なんだけど
Windows server環境で実行したらスタックオーバーフロー起こして解決できなかった。
きっとバッチの書き方が悪かったんだろうけど
ちょっと書き方わからなさ過ぎた。
ソース
gist8473c424a27cc885971e6d5ad3772fbc
呼び出した自分自身にフォルダパスを渡してって繰り返し
このソースじゃVBAでファイルコピーかましてるけど遅すぎて6万ファイルとか待ってられないので
前書いた2次元配列使って読み込んだパスを一括転記からの
バッチファイルでファイルパス読み込んでコピー実行ってやり方に落ち着きました。
さすがにローカルでVBA操作してサーバーの6万ファイルコピーとかふざけてるからね