サブサブフォルダとファイルを1レベル上に一括移動する

サブサブフォルダとファイルを1レベル上に一括移動する

次のようなディレクトリがあります

Root Folder
  - Folder A
    - Subfolder
        - File1
        - File2
        - File3
  - Folder B
    - Subfolder
        - File1
        - File2
        - File3
  - Folder C
    - Subfolder
        - File1
        - File2
        - File3

ここで、サブフォルダとファイルを1レベル上に移動し、移動したらフォルダを削除したいので、次のようになります。

Root Folder
    - Subfolder
        - File1
        - File2
        - File3
    - Subfolder
        - File1
        - File2
        - File3
    - Subfolder
        - File1
        - File2
        - File3

Windows でこれを行うバッチ方法はありますか?

答え1

「サブフォルダー」の名前が重複しない「フォルダー [a|b]」のパターンがある場合、はい、これは非常に単純なバッチ スクリプトです。

for /d %%d in ("folder*") do call :doit "%%d"
exit /b

:doit
@echo.Moving contents of "%~1" to "%cd%"...
pushd "%~1"
forfiles /c "cmd /c move @file .."
popd
@echo.Removing "%~1"
rd "%~1"
exit /b

繰り返しますが、とてもフォルダ名にパターン(「フォルダ*」)が必要であることを理解することが重要です。これがコンテンツフォルダ内で複製される場合は、意思データが失われます。

関連情報