Eu tenhonnúmero de arquivos que desejo renomear removendo um nome específico, espaço em branco, e quero adicionar uma string exclusiva com o novo nome:
Por exemplo
"MPKL 100055.jpg"
"MPKL 200452.jpg"
"MPKL 500002_thumb.jpg"
Quero renomear os arquivos acima para:
"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"
Dois zeros devem vir antes do número existente.
Responder1
No exemplo abaixo eu usei umPARA /Floop para definir delimitadores e tokens analisando partes do nome do arquivo e usá-los para definir variáveis para uso posterior com oRENcomando. Eu também utilizei oDefinir local EnableDelayedExpansionpara lidar com a expansão das variáveis definidas no loop de acordo para serem usadas corretamente (não analisadas em tempo de execução) com o comando rename por iteração dentro do loop.
@ECHO ON
SETLOCAL ENABLEDELAYEDEXPANSION
SET SourceDir=C:\Users\User\Desktop\Tester
FOR /F "TOKENS=1-3 DELIMS=. " %%F IN ('DIR /B /A-D "%SourceDir%\*.jpg"') DO (
SET "part1=%%~F"
SET "part2=%%~G"
SET "part3=%%~H"
REN "%SourceDir%\!part1! !part2!.!part3!" "00!part2!.!part3!"
)
GOTO EOF
Recursos adicionais
Responder2
Eu renomeio muito arquivos e acho muito conveniente usarUtilitário de renomeação em massa. É de graça. Você pode renomear arquivos e pastas em pastas e/ou subpastas de várias maneiras, incluindo alterando as extensões.
Responder3
@echo off
Setlocal enabledelayedexpansion
Set "Pattern=MPKL"
Set "Replace=00"
For %%# in ("FOLDER_PATH/*.jpg") Do (
Set "File=%%~nx#"
Ren "%%#" "!folder!!file!" "!file: =!!File:%Pattern%=%Replace%!"
)
Pause&Exit