У меня естьнколичество файлов, которые я хочу переименовать, добавив общее имя между существующими именами.
Например
"LRHP 100055"
"LRHP 200452"
"HRVG 500002_thumb"
Я хочу переименовать указанные выше файлы в:
"LRHP 00100055"
"LRHP 00200452"
"HRVG 00500002_thumb"
Перед номером я хочу добавить два нуля. Мое существующее имя не должно меняться.
решение1
Пакетное переименование скрипта и добавление двойных нулей к части имени файла
В приведенных ниже примерах я использовалДЛЯ /Фцикл для установки разделителей и токенов, анализирующих части имени файла и использующих их для установки переменных для последующего использования сРЕНкоманду. Я также использовалSetlocal EnableDelayedExpansionдля обработки расширения набора переменных в цикле соответствующим образом для их правильного использования (без анализа во время выполнения) с помощью команды rename на каждой итерации внутри цикла.
Без расширения файла файлы для переименования
@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
Дополнительные ресурсы
решение2
ПереименоватьФайлымое любимое приложение Windows для массового переименования файлов.
- К сожалению,оригинальный сайтбольше не доступен, поэтому я разместил ссылку на свою собственную копию.
- Архив оригинального сайтадля справки
- Для вашей задачи отметьте опцию «Вставить строку»
00
после символа5
: