[batch] Ayuda al renombrar archivo [Solucionado]

Iniciado por koh-radamanthys, 25 Enero 2011, 15:31 PM

0 Miembros y 2 Visitantes están viendo este tema.

koh-radamanthys

Gente, buenos dias.
estoy necesitando renombrar un archivo, pero deberia de recortar los primeros 10 caracteres, ej:

original: Pato_Jose_P1*.txt

nuevo: P1*.txt

donde en * los caracteres son variables, no siempre los mismos

Si alguno se le ocurre como se puede hacer, le agradecere la ayuda. Necesitaria hacerlo en batch o vbscript

xassiz~

Código (dos) [Seleccionar]

@echo off
set "archivo=1234567890koh-radamanthys"
echo.Original: %archivo%
echo.Nuevo:  %archivo:~10%
>nul pause
exit

::)

koh-radamanthys

Buenas pablomi
Estuve viendo lo que me aconsejas, y no me esta tomando bien el renombre.
Suponiendo que lo que esta en el * es koh-radamanthys, no lo modifica al nombre, lo deja igual.
de mi parte habia hecho algo parecido pero lo que hacia era copiarme el ultimo caracter que le indicaba (por ejemplo para el nombre de archivo "1234567890koh-radamanthys" si ponia :~10 ) agarraba el 0 y lo reemplazaba por el 1, quedando el nombre "0234567890koh-radamanthys"

Gracias por responder!!
Saludos.!

xassiz~

#3
Yo te puse un ejemplo, ahora tienes que implementarlo. Te pongo un ejemplo recursivo:
Código (dos) [Seleccionar]

@echo off
set /p "to_rename=File>> "
call :rename "%to_rename%"
exit

:rename
setlocal
set "file=%~1"
set "file_new=%file:~10%"
if exist "%file%" (
   ren "%file%" "%file_new%"
   call :rename "%file%"
)
endlocal
goto:eof


Y por cierto, confundes reemplazo con extracción de caracteres.

Saludos!

koh-radamanthys

Perfecto Pablomi, ya le encontre la vuelta

Gracias por el ejemplo, me sirvieron barbaro!

Saludos.!