¿Cómo cambio el nombre de varios archivos eliminando un nombre particular, espacios en blanco y agregando una cadena única?

¿Cómo cambio el nombre de varios archivos eliminando un nombre particular, espacios en blanco y agregando una cadena única?

TengonorteNúmero de archivos que quiero cambiar de nombre eliminando un nombre particular, espacios en blanco y quiero agregar una cadena única con el nuevo nombre:

P.ej

"MPKL 100055.jpg" 
"MPKL 200452.jpg" 
"MPKL 500002_thumb.jpg"

Quiero cambiar el nombre de los archivos anteriores a:

"00100055.jpg"
"00200452.jpg"
"00500002_thumb.jpg"

Deben ir dos ceros delante del número existente.

Respuesta1

En el siguiente ejemplo utilicé unPARA /Fbucle para establecer delimitadores y tokens que analizan partes del nombre del archivo y usarlos para establecer variables para su uso posterior con elrendominio. También he utilizado elEstablecer local EnableDelayedExpansionpara manejar la expansión de las variables establecidas en el bucle en consecuencia para que se utilicen correctamente (no analizadas en tiempo de ejecución) con el comando de cambio de nombre por iteración dentro del bucle.

@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 adicionales

Respuesta2

Cambio mucho el nombre de los archivos y lo encuentro muy cómodo de usar.Utilidad de cambio de nombre masivo. Es gratis. Puede cambiar el nombre de archivos y carpetas en carpetas y/o subcarpetas de muchas maneras, incluido el cambio de extensiones.

Respuesta3

@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

información relacionada