Я использовал отличный ответ dbenham на вопрос о том, как добавить имя папки в начало имени файла в сценарии cmd.
@echo off
pushd "Folder"
for /d %%D in (*) do (
for %%F in ("%%~D\*") do (
for %%P in ("%%F\..") do (
ren "%%F" "%%~nxP_%%~nxF"
)
)
)
popd
Я обнаружил, что, казалось бы, случайным образом (хотя, вероятно, это не так) иногда сценарий запускается через несколько дочерних папок и правильно переименовывается, но затем он попадает в папку, где он застревает в цикле и начинает повторно добавлять имя папки в файл внутри. У меня есть 90 000 файлов в 300 папках, чтобы переименовать в эти выходные. Есть шанс, что вы сможете угадать причину?
PS: есть ли максимальное количество файлов, которые допустимы в каждой папке?