
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.