5

У меня есть n файлов, которые я хочу переименовать, добавив общее имя между существующими.

Например

"LRHP 100055"
"LRHP 200452"
"HRVG 500002_thumb"

Я хочу переименовать вышеуказанные файлы в:

"LRHP 00100055"
"LRHP 00200452"
"HRVG 00500002_thumb"

Перед номером я хочу добавить два нуля. Мое существующее имя не должно меняться.

2 ответа2

2

Пакетное переименование сценария и добавление двойных нулей к части имени файла

В приведенных ниже примерах я использовал цикл FOR /F для установки разделителей и маркеров, разбирающих части имени файла, и использовал их для установки переменных для последующего использования с командой REN . Я также использовал Setlocal EnableDelayedExpansion для обработки расширения переменных, установленных в цикле, соответственно, для правильного использования (не анализируемого во время выполнения) с командой переименования для каждой итерации в цикле.

Без расширения файла на файлы для переименования

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-2 DELIMS= " %%F IN ('DIR /B /A-D "%SourceDir%\*"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!" "!part1! 00!part2!"
)
GOTO EOF

С расширением файла для переименования файлов

@ECHO ON

SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester

FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*"') DO (
    SET "part1=%%~F" 
    SET "part2=%%~G" 
    SET "part3=%%~H"
    REN "%SourceDir%\!part1! !part2!.!part3!" "!part1! 00!part2!.!part3!"
)
GOTO EOF


Дополнительные ресурсы

0

RenameFiles - мое приложение Windows для массового переименования файлов.

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