2

Я хочу поставить 1 символ в начале каждого файла JPG. Я сделал этот командный файл:

for %%A in (*.jpg) do ren "%%~A" s"%%~nA%%~xA"

Это работает почти идеально, но первый файл обрабатывается дважды:

ssNL201501
sNL201502
sNL201503

Что я делаю не так?

1 ответ1

3

Это работает почти идеально, но первый файл обрабатывается дважды

for %%A in (*.jpg) do ren "%%~A" s"%%~nA%%~xA"

Вам необходимо использовать:

for /f %%A in ('dir /b *.jpg') do ren "%%~A" s"%%~nA%%~xA"

Как объясняет в своем ответе dbenham, добавить «текст» в конец нескольких имен файлов:

Обратите внимание, что важно использовать FOR /F а не простой FOR . FOR /F собирает весь результат команды DIR перед началом итерации, тогда как простой FOR начинает выполнять итерацию после заполнения внутреннего буфера, что повышает риск переименования одного и того же файла несколько раз.


Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .