Відповіді:
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 у своїй відповіді, щоб додати "текст" до кінця декількох імен :
Для виконання цього циклу для циклу на папках (каталогах) замість файлів просто включіть /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
може виникнути проблема спроби обробити значення кілька разів (також дивіться мою відповідь).