Следующая команда изменяет только имена файлов, но не папок.
for %a in (*) do ren "%a" "00_%a"
Следующая команда изменяет только имена файлов, но не папок.
for %a in (*) do ren "%a" "00_%a"
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.