Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/09/2011, 08:12
Avatar de Okuon
Okuon
 
Fecha de Ingreso: septiembre-2011
Ubicación: Aquí en el tercer planeta
Mensajes: 62
Antigüedad: 13 años, 2 meses
Puntos: 13
Respuesta: script para modificar el nombre de archivos en Windows

Hace tiempo encontré un Script (autor desconocido, solo postearon el código no se mencionó ni se incluía la fuente: )

Lo modifiqué la semana pasada para cambiar el nombre de archivo por serie númerica, y que eliminé el nombre de archivo menos la serie númerica existente en los archivos.

Ahora lo ajusté para que elimine ceros según el total de ceros en el nombre de cada archivo JPG.
  • No lo modifiqué más porque no es mi especialidad ni considero importante ir más allá con la programación.
  • No funciona recursivamente (en sub-carpetas) solo opera en el directorio actual.

Si quieres renombrar otros formatos de imágenes o de cualquier archivo simplemente agregalos a la secuencia del comando DIR.

FOR /f "tokens=*" %%f in ('DIR "*.JPG" "*.PNG" "*.GIF" *.BMP" "*.DOC" "*.DOCX" "*.XLS" "*.XLSX" /B /A-D /ON ^|FINDSTR /C:"-000"') DO (Call:Clean1 "%%~nf" "%%~xf")


Cita:
@ECHO OFF &SETLOCAL &CD /D "%~DP1"

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=*" %%f in ('DIR "*.JPG" /B /A-D /ON ^|FINDSTR /C:"-000"') DO (Call:Clean1 "%%~nf" "%%~xf")
GOTO:END

:Clean1
SET e=%~2
SET e=%e:~1%
SET c="%~1.%e%"
SET n="%~1"
SET n=%n:-00=-%
SET n=%n:-000=-00%
SET n=%n:-0000=-000%
SET n=%n:-00000=-0000%
SET n=%n:-000000=-00000%
SET n=%n:~1%
SET n=%n:~,-1%
IF NOT %c%=="%n%.%e%" (REN %c% "%n%.%e%")
GOTO:EOF

:Clean2
SET e=%~2
SET e=%e:~1%
SET c="%~1.%e%"
SET n="%~1"
SET n=%n:-00=-%
SET n=%n:-000=-00%
SET n=%n:-0000=-000%
SET n=%n:-00000=-0000%
SET n=%n:-000000=-00000%
FOR %%f in ( -00 -000 -0000 -00000 ) DO (SET n=!n:%%f=!)
SET n=%n:~1%
SET n=%n:~,-1%
ECHO.!c! "%n%.%e%"
REM IF NOT %c%=="%n%.%e%" (REN %c% "%n%.%e%")
GOTO:EOF