elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Extraer nombre y extension de archivo en Batch[Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Extraer nombre y extension de archivo en Batch[Solucionado]  (Leído 10,921 veces)
gorgon12

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Extraer nombre y extension de archivo en Batch[Solucionado]
« en: 6 Agosto 2009, 19:12 pm »

Bueno chavos, pues precisamente eso...

El asunto es que tengo una ruta alojada en una variable, mi duda es: ¿como puedo extraer "solamente" el nombre y extensión del archivo de la cadena entera para posteriormente alojar solo esa información en otra variable?

No se si alguno de uds tenga alguna solución... de antemano les agradezco

Saludos.


« Última modificación: 6 Agosto 2009, 20:49 pm por Leo Gutierrez. » En línea

Ari Slash


Desconectado Desconectado

Mensajes: 1.783



Ver Perfil WWW
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #1 en: 6 Agosto 2009, 19:15 pm »


la ruta obviamente sera la que cambiara
pero el nombre de archivo es constante o puede ser cualkier archivo?


salu2


En línea

gorgon12

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #2 en: 6 Agosto 2009, 19:21 pm »

Tal vez no me expresé muy bien...

en mi .bat tengo una linea:
 
set /p ruta=Ingrese Aqui La Ruta del Archivo

si yo agrego un echo %ruta% saldrá una linea parecida a la siguiente:

C:\Documents and Settings\Usuario\Mis Documentos\Archivo.xxx

Pero yo no necesito toda esa información, solo deseo el nombre y extensión de archivo.

El archivo no lo conozco por anticipado puesto q la variable es una petición al usuario.

Saludos
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #3 en: 6 Agosto 2009, 19:36 pm »

Primera forma:
Código
  1. @echo off
  2. :code
  3. set /p "ruta=Ingrese aqui la ruta del archivo : "
  4. if not defined ruta (goto:code)
  5. call:_view %ruta%
  6. goto:eof
  7. :_view
  8. echo %~nx1
  9. goto:eof

Salida:
Código:
Ingrese aqui la ruta del archivo : c:\windows\system32\msg.exe
msg.exe

Segunda forma:

Código
  1. @echo off
  2. :code
  3. set /p "ruta=Ingrese aqui la ruta del archivo : "
  4. if not defined ruta (goto:code)
  5. for %%_ in ("%ruta%") do (
  6. echo %%~nx_
  7. )
  8. goto:eof
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Ari Slash


Desconectado Desconectado

Mensajes: 1.783



Ver Perfil WWW
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #4 en: 6 Agosto 2009, 19:42 pm »

como te quedo el ojo?

te presento al maestro Leo gutierrez
 :xD

En línea

gorgon12

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #5 en: 6 Agosto 2009, 19:58 pm »

Gracias Leo, funciona a la prefección, usar el comando call con la ruta como parametro no se me habia ocurrido.

Por tanto si quisiera el resultado en una variable siguiendo como ejemplo tu código se podria hacer:

Código:
@echo off
:code
set /p "ruta=Ingrese aqui la ruta del archivo : "
if not defined ruta (goto:code)
call:_view %ruta%
goto:eof
:_view
set name=%~nx1
goto:eof

y usar esa información cuando quiera.... ahora, ¿es posible crear la variable sin la necesidad de "call"?
Me refiero a si puedes especificar la ruta como parámetro directamente en el modificador %~nx1

Saludos y Gracias excelente solucion.

P.D. ¿como haces lo de los colores  :P puse algunos pero no se tradujeron las etiquetas
« Última modificación: 6 Agosto 2009, 20:10 pm por gorgon12 » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #6 en: 6 Agosto 2009, 20:27 pm »

Si se puede, usa el FOR:
Código
  1. @echo off
  2. :code
  3. set /p "ruta=Ingrese aqui la ruta del archivo : "
  4. if not defined ruta (goto:code)
  5. for %%_ in ("%ruta%") do (set "mi_file= %%~nx_")
  6. echo : %mi_file%
  7. pause>nul
  8. goto:eof

Para los colores usa el GeSHi del foro, y selecciona DOS.

Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
gorgon12

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Extraer nombre y extension de archivo en Batch
« Respuesta #7 en: 6 Agosto 2009, 20:45 pm »

De acuerdo leo...duda resuelta

hasta la proxima (pregunta)

Gracias, Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] OBTENER NOMBRE CON EXTENSION « 1 2 »
Scripting
rochro 13 8,602 Último mensaje 13 Marzo 2014, 21:32 pm
por rochro
[Solucionado][Batch] Archivos sin extensión
Scripting
KZN 0 1,709 Último mensaje 19 Marzo 2014, 11:04 am
por KZN
AYUDA! Extraer nombre y extension de archivo
Programación Visual Basic
rochro 7 4,545 Último mensaje 10 Junio 2014, 00:10 am
por ivancea96
Batch Eliminar Doble Extensión (SOLUCIONADO) « 1 2 »
Scripting
kaisersouse2 18 12,702 Último mensaje 30 Septiembre 2015, 23:03 pm
por Eleкtro
como extraer al nombre del archivo con tar ?
GNU/Linux
Pedro122h 1 1,416 Último mensaje 22 Junio 2024, 16:02 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines