Ответы:
for %a in (*) do ren "%a" "00_%a"
Заметки:
forкак указано выше, не рекомендуется.Используйте следующее в cmdоболочке:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
В пакетном файле (заменить %на %%):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Замечания:
Очень важно, чтобы вы использовали,
FOR /Fа не простоFOR.Эта
FOR /Fкоманда собирает весь результатDIRкоманды до того, как она начнет итерацию, тогда как простаяFORначинает итерацию после заполнения внутреннего буфера, что повышает риск переименования одного и того же файла несколько раз.
как советовал dbenham в своем ответе, чтобы добавить «текст» в конец нескольких имен файлов :
Чтобы выполнить этот цикл For для папок (каталогов) вместо файлов, просто включите /Dпереключатель.
for /D %a in (*) do ren "%a" "00_%a"
От for /?:
FOR / D% переменная IN (set) команда DO [параметры-команды]
If set contains wildcards, then specifies to match against directory names instead of file names.
renработает на папках. Ограничение заключается в том, что «вы не можете указать другой диск или путь для цели».
Ren.
for /dможет также возникнуть проблема с попыткой обработки значений несколько раз (см. Также мой ответ).