Как добавить префикс ко всем файлам и папкам в папке? (Windows)

следующая команда изменяет только имя файлов, но не папки.

for %a in (*) do ren "%a" "00_%a"

12
задан Ƭᴇcʜιᴇ007
30.03.2023 1:05 Количество просмотров материала 3341
Распечатать страницу

2 ответа

следующая команда изменяет только имя файлов, но не папки.

for %a in (*) do ren "%a" "00_%a"

Примечания:

  • используя for как указано выше не рекомендуется.
  • есть вероятность, что файлы могут быть переименованы несколько раз.
  • ниже почему.

используйте в cmd shell:

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 в своем ответе для добавить "текст" в конец нескольких имен файлов:


Читать Далее

10
отвечен DavidPostill 2023-03-31 08:53

чтобы выполнить это для цикла по папкам (каталогам) вместо файлов, просто включите /D переключатель.

for /D %a in (*) do ren "%a" "00_%a"

С for /?:

К /Д %переменной в (набор) команды сделать команду [- параметры]

If set contains wildcards, then specifies to match against directory
names instead of file names.
0
отвечен Ƭᴇcʜιᴇ007 2023-03-31 11:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх