Stapelweises Verschieben von Unter- und Unterordnern und Dateien um eine Ebene nach oben

Stapelweises Verschieben von Unter- und Unterordnern und Dateien um eine Ebene nach oben

Ich habe ein Verzeichnis, das so aussieht

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

Jetzt möchte ich den Unterordner und die Dateien eine Ebene nach oben verschieben und den Ordner löschen, sobald er nach oben verschoben wurde, also sollte er so aussehen

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

Gibt es dafür in Windows eine Batchmethode?

Antwort1

Wenn es ein Muster für „Ordner [a|b]“ gibt, das in den Namen der „Unterordner“ nicht doppelt vorkommt, dann handelt es sich tatsächlich um ein ziemlich einfaches Batch-Skript.

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

Noch einmal, es istsehrwichtig zu verstehen, dass dies ein Muster für die Ordnernamen erfordert ("Ordner*"). Wenn dies in Ihren Inhaltsordnern repliziert wird, dannWilleDaten verlieren.

verwandte Informationen