Я хотів би змінити ім'я каталогу з
view_pictures
personal_pictures
scenic_pictures
до
2017_view_pictures
2017_personal_pictures
2017_scenic_pictures
У кожній папці є файли всередині, і це лише вигаданий приклад, у вихідному режимі є більше 20К підкаталогів, тому ручне перейменування неможливо.
Я спробував отримати список за допомогою команди дерева ,
тож я можу маніпулювати списком за допомогою блокнота ++ та деякого регексу,
але дерево не дасть повний шлях, щоб я міг генерувати команду.
Це структура каталогу:
root path
picsfromA
view_pictures
personal_pictures
picsfromB
view_pictures
personal_pictures
scenic_pictures
picsfromC
personal_pictures
scenic_pictures
picsfromD
personal_pictures
picsfromN
scenic_pictures
це потрібна структура каталогу:
root path
picsfromA
2017_view_pictures
2017_personal_pictures
picsfromB
2017_view_pictures
2017_personal_pictures
2017_scenic_pictures
picsfromC
2017_personal_pictures
2017_scenic_pictures
picsfromD
2017_personal_pictures
picsfromN
2017_scenic_pictures
ОНОВЛЕННЯ
Я також намагаюся так:
складна частина полягає в тому, щоб розірвати рядок шляху та відновити його.
@echo off
SETLOCAL
set folder_path=%%f
for /D /r %%f in (*) do (
set folder_path=%%f
echo %folder_path%
if "%folder_path:~-13%" EQU "view_pictures" (
REM path without last folder name
REM construct path without folder name
REM [ren old folder] , [new folder.]
)
)