そこで、次のことを実現したいと思います。ファイル構造は現在次のようになっています。
親
フォルダA
Folder Aa
File 1
フォルダB
Folder Bb
File 2
フォルダC
Folder Cc
File 3
これを次のように変換するコマンドを実行したいと思います:
親
フォルダA
Folder Aa
File 1
フォルダB
Folder Bb
File 2
フォルダC
Folder Cc
File 3
つまり、ファイルはそれぞれの親フォルダに移動されただけです。多くのサブファイルを 1 つのフォルダにグループ化できるコードは見つかりましたが、サブファイルすべてを個別のフォルダに入れるコードは見つかりませんでした。次のバリエーションになると思います: for %F in (c:\foo\bar*.*) do move /Y %F c:\foo ?
ご協力いただければ幸いです。
答え1
FolderA
、、FolderB
...がすべて存在するディレクトリに単純な.batファイルを作成します。
@echo off
for /D %%f in (Folder*) do (
for /D %%g in (%%f\*) do (
move %%g\*.* %%f
)
)
これはディレクトリをループし、次に内部ディレクトリをループして、1 レベル上のすべてのファイルのグローバル移動コマンドを適用します。