Вот что я пробовал:набор имя_папки = имя_папки:! = Пакетные переименовать все папки, содержащие файлы, имеющие определенный шаблон
@echo off
REM Prefix zz_ to folders containing episodes with zz_
setlocal enabledelayedexpansion enableextensions
for /r "G:\itunes\Podcasts\" %%f in (zz_*.mp3) do (
set N=%%~pf~
set N=!N:\itunes\Podcasts\=!
set N=!N:\=!
if exist %%f ren "g:%%~pf" "zz_!N!"
)
pause
Но я получил сообщение об ошибке: Процесс не может получить доступ к файлу, так как используется другим процессом. Я не программист каким-либо образом, просто вырезать & вставить своего рода парня, поэтому благодарим за любую помощь.
Итак, что случилось с вышеизложенным, я, конечно, изменяю подкаталоги при попытке перезагрузить каталог (g: \ itunes \ podcasts). Таким образом, следующий неуклюжий код работает, за одним исключением.
@echo off
setlocal enabledelayedexpansion enableextensions
REM Prefix zz_ to folders containing episodes with zz_
for /r "G:\itunes\Podcasts\" %%f in (zz_*.mp3) do (
set foldername=%%~pf
set foldername=!foldername:~17!
set foldername=!foldername:\=!
if exist %%f echo if exist %%f ren "g:%%~pf" "zz_!foldername!" >>g:\trash.bat
)
call g:\trash.bat
del g:\trash.bat
pause
Он не обрабатывает имена файлов, содержащие восклицательные знаки. Есть предположения?
Используются ли файлы .mp3? Потому что это то, что предлагает это сообщение об ошибке. – SomethingDark
Отключите «echo off» и посмотрите на причудливый материал, который вы делаете. –