メニュー

Windowsバッチ│階層下の全ファイルを収集するバッチファイル

何階層も奥深くファイルが格納されているデータを整理するためにバッチを書いてみました。

海外でフリーランスをしているテクニカルアーティスト
ゲーム開発・映像制作・WEB制作等を請け負っています。
当ブログは作業効率化のための技術ブログです。

目次

階層下の全ファイルを選択ディレクトリに収集する説明

たとえばこんな感じのディレクトリがあったとします。

親フォルダ
  L子フォルダ
    L孫フォルダA
     LfileA_001.png
    L孫フォルダB
         LfileB_001.png

親フォルダのディレクトリにあるいずれかのファイルを選択して、右クリック>送る>選択階層へファイルを収集.batを実行します。

親フォルダ
 LfileA_001.png
 LfileB_001.png

余計なフォルダは削除されて、ファイルだけが対象ディレクトリに収集されます。

階層下の全ファイルを選択ディレクトリに収集するバッチスクリプト

送る(Send To)で使う想定です!

REM ファイルを実行ディレクトリへ移動
for /r %~dp1 %%j in (*) do (  
    move /-y "%%j" %~dp1
)  

REM フォルダの削除
for /d %%i in (*) do (  
    pushd .  
    cd %%i  
    popd  
    rd /s /q "%%i"  
)  
  • move /-yとしているので、重複ファイルが有った場合は選択肢が表示されます。重複があった場合は上書きするか一旦止めて対象ファイル名を修正しましょう。
  • 通常のバッチから実行する場合は「%~dp1」ではなく「%~dp0」としましょう。

まとめ

AEで細かくフォルダわけをしてプロジェクトの収集をかけると、かえって素材を探しにくいデータができてしまうので、データ整理用にバッチを書いてみました。

シンプルなデータ構造を目指しましょう!

全記事一覧

  • URLをコピーしました!
目次