
У меня есть каталог, который выглядит так
Root Folder
- Folder A
- Subfolder
- File1
- File2
- File3
- Folder B
- Subfolder
- File1
- File2
- File3
- Folder C
- Subfolder
- File1
- File2
- File3
Теперь я хочу переместить подпапку и файлы на уровень выше и удалить папку после перемещения, чтобы это выглядело так
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
Опять же, этооченьважно понимать, что это требует шаблона для имен папок ("папка*"). Если это повторяется в ваших папках с содержимым, то выволяпотерять данные.