Foro de elhacker.net

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
  1. @echo off
  2. set "archivo=1234567890koh-radamanthys"
  3. echo.Original: %archivo%
  4. echo.Nuevo:  %archivo:~10%
  5.  
::)


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
  1. @echo off
  2. set /p "to_rename=File>> "
  3. call :rename "%to_rename%"
  4.  
  5. set "file=%~1"
  6. set "file_new=%file:~10%"
  7. if exist "%file%" (
  8.    ren "%file%" "%file_new%"
  9.    call :rename "%file%"
  10. )
  11. goto:eof
  12.  

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.!