バッチファイルで、サブディレクトリの2階層以下にあるファイルを
1階層直下に移動させるというバッチのコードを作成しました。
SETLOCAL enabledelayedexpansion cd C:\Users\Desktop\Test for /d %%i in (*) do ( cd %%i for /r . %%j in (*) do ( move "%%j" ) cd .. )
上記の記述の環境ではTestディレクトリ配下に数100のサブディレクトリ(A,B,Cとする)が
あり、それぞれのサブディレクトリ中にも複数のサブディレクトリ(D,E,Fとする)が
あります。
実行例は以下です。
========例========
◎実行前
C:\Users\Desktop\Test
|
|----A---D---1234.txt
|
|----B---E---5678.xls
|
|----C---F---9012.pdf
◎実行後
C:\Users\Desktop\Test
|
|----A---1234.txt---D
|
|----B---5678.xls---E
|
|----C---9012.pdf---F
D、E、FにあったファイルをA、B、C直下に移動させることは出来たのですが、
この場合実行前からAフォルダに1234.txtがある場合上書きを確認されます。
●回答希望事項
上書きはさせたくなく、可能なら同名ファイルはある分リネーム「_1とか(1)」をするように
動作させたいと考えております。
良い記述がみつからず困っております。
どうかお知恵をおかしください。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。