Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: koh-radamanthys en 25 Enero 2011, 15:31 PM

Título: [batch] Ayuda al renombrar archivo [Solucionado]
Publicado por: koh-radamanthys en 25 Enero 2011, 15:31 PM
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
Título: Re: [batch] Ayuda al renombrar archivo
Publicado por: xassiz~ en 25 Enero 2011, 16:22 PM
Código (dos) [Seleccionar]

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

::)
Título: Re: [batch] Ayuda al renombrar archivo
Publicado por: koh-radamanthys en 25 Enero 2011, 19:52 PM
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.!
Título: Re: [batch] Ayuda al renombrar archivo
Publicado por: xassiz~ en 25 Enero 2011, 21:47 PM
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!
Título: Re: [batch] Ayuda al renombrar archivo [Solucionado]
Publicado por: koh-radamanthys en 25 Enero 2011, 21:50 PM
Perfecto Pablomi, ya le encontre la vuelta

Gracias por el ejemplo, me sirvieron barbaro!

Saludos.!