Я использовал отличный ответ 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: есть ли максимальное количество файлов, которые допустимы в каждой папке?

0