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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [batch] OBTENER NOMBRE CON EXTENSION
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [batch] OBTENER NOMBRE CON EXTENSION  (Leído 8,003 veces)
rochro

Desconectado Desconectado

Mensajes: 42


Ver Perfil
[batch] OBTENER NOMBRE CON EXTENSION
« en: 10 Marzo 2014, 22:11 pm »

Soy nueva en esto y quisiera ayuda en poder crear un script donde me pueda capturar el nombre del archivo (incluyendo extensión), lo almacene en una variable y así poder ejecutar una tarea en cada uno de ellos generando un bucle.

EJEM:
D:\archivos
--->X.t01
   subdirectorio
--->Y.t01
   subdirectorio
--->Z.t01

la tarea a ejecutar seria --> runpkr00 -d nombredelarchivo.t01 (se necesita ejecutar el programa en cada uno de los archivos)


Espero haberme hecho entender. Gracias de antemano.

Saludos.

--
Rossmery Chacón


« Última modificación: 12 Marzo 2014, 16:19 pm por rochro » En línea

Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #1 en: 10 Marzo 2014, 22:34 pm »

Hola Rossmery, la mejor forma de aprender es probando. Aunque pierdas un poco más de tiempo al principio, luego habrás mejorado bastante más que tan solo leyendo lo que otro puede haber programado por ti.

Te echo una mano en cuanto a las funciones que puedes gastar, dejándote así mismo una página muy recomendable para formarte http://ss64.com/nt/syntax.html

En cuanto a obtener los archivos dentro del directorio "archivos" puedes utilizar el comando "Dir":
http://ss64.com/nt/dir.html

Por lo que hace al bucle pueder utilizar el "For /f" que tomará como parámetro los resultados de otra funcion (en tu caso tomará cada archivo que será la salida del comando DIR):
http://ss64.com/nt/for_cmd.html

Espero haberte ayudado.
Un saludo!


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #2 en: 11 Marzo 2014, 02:04 am »

Cabe mencionar que el foro está para intentar hayar la respuesta uno mismo a dudas básicas se han solucionado 1.000 veces, usando el buscador del foro...

· Un renombrador en batch para imagenes  

· Ayuda para renombrar archivos  

· [BATCH] Cambiar extension a archivos

· batch - modificar nombres de archivos, solo sacar las letras y dejar numeros  

Saludos
En línea

sabeeee

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #3 en: 11 Marzo 2014, 19:10 pm »

Aca esta, lo mas sencillo posible
Código
  1. @echo off
  2. :1
  3. set rando=archivo%random%.t01
  4. dir *.t01 /b >%rando%
  5. runpkr00 -d %rando%
« Última modificación: 11 Marzo 2014, 19:25 pm por sabeeee » En línea

"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon
rochro

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #4 en: 12 Marzo 2014, 16:17 pm »

Muchas gracias por el apoyo de uds. He logrado que me ejecute el programa (runpkr) en los archivos que se encuentran en la raiz de la carpeta mas no en los subdirectorios. Quisiera saber que otros comandos tendria que agregar.

Gracias de antemano =)

Código
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. For %%i IN (*.t01) do (call :comando %%i)
  4. :comando
  5. Set file=%~nx1
  6. runpkr00 -d %file%
  7.  
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #5 en: 12 Marzo 2014, 16:51 pm »

Vaya, al principio creí que se trataba de un problema de renombramiento de archivos, leí mal, entonces no hagas caso de las urls que te indiqué, ahora te entiendo.

Lo puedes hacer así:

Código
  1. @Echo OFF
  2.  
  3. For /R %%# IN ("*.t01") Do (
  4. Set "file=%%~#"
  5. Call Start /W "runpkr" "runpkr00.exe" -d "%%file%%"
  6. )
  7.  
  8. Pause&Exit

Pero, setear el nombre del archivo en una variable es un paso innecesario, si reálmente no necesitas setear el nombre entonces reemplaza las órdenes que puse dentro del For, por este único comando:

Código
  1. Start /W "runpkr" "runpkr00.exe" -d "%%~#"

Saludos.
« Última modificación: 12 Marzo 2014, 16:53 pm por Eleкtro » En línea

sabeeee

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #6 en: 12 Marzo 2014, 17:40 pm »

Vaya, al principio creí que se trataba de un problema de renombramiento de archivos, leí mal, entonces no hagas caso de las urls que te indiqué, ahora te entiendo.

Lo puedes hacer así:

Código
  1. @Echo OFF
  2.  
  3. For /R %%# IN ("*.t01") Do (
  4. Set "file=%%~#"
  5. Call Start /W "runpkr" "runpkr00.exe" -d "%%file%%"
  6. )
  7.  
  8. Pause&Exit

Pero, setear el nombre del archivo en una variable es un paso innecesario, si reálmente no necesitas setear el nombre entonces reemplaza las órdenes que puse dentro del For, por este único comando:

Código
  1. Start /W "runpkr" "runpkr00.exe" -d "%%~#"

Saludos.

Disculpa, pero el /W es de wait ?, a lo mejor me sirve  mi jeje.
« Última modificación: 12 Marzo 2014, 19:08 pm por sabeeee » En línea

"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #7 en: 12 Marzo 2014, 18:28 pm »

Disculpa, pero el /W es de wait ?.

si

Cita de: CMD
Código:
WAIT        Iniciar aplicación y esperar a que finalice

saludos!
En línea

rochro

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #8 en: 12 Marzo 2014, 21:32 pm »


Código
  1. Start /W "runpkr" "runpkr00.exe" -d "%%~#"

Saludos.

Muchas Gracias Eleкtro =) Me ayudaste muchísimo, lo que me queda como interrogante es el start /w.

Ahora tengo otro caso. Después de ejecutar el programa runpkr ahora tengo que ejecutar otro programa que es el teqc con el siguiente código:
teqc +nav nombrearchivo0.14n -week semanagps -tr d nombrearchivo.dat> nombrearchivo0.14o

nota:
* en semanagps se tendría que insertar la semana que seria ejem: 1783 (http://gps.topografia.upm.es/www/calactal.htm).
* el nombrearchivo tendria que modificar. ejem: CCCCDDDaA.t01 --> CCCCDDD0.t01 (cambiar los dos ultimos digitos por 0)

Lo que pasa es que lo estoy haciendo por partes para no aturdirme  ;D
« Última modificación: 12 Marzo 2014, 22:48 pm por rochro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: [batch] OBTENER NOMBRE CON EXTENSION
« Respuesta #9 en: 13 Marzo 2014, 06:50 am »

nota:
* en semanagps se tendría que insertar la semana que seria ejem: 1783 (http://gps.topografia.upm.es/www/calactal.htm).

¿Pero la semana la introducs tu manuálmente?

Quiero decir, por ejemplo, que si ejecutas el script hoy (13 de marzo) quieres que se tome el día actual de forma automática para convertirlo en la semana equivalente (1783)? o el valor de la semana lo quieres especificar tu de forma manual?

saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Utilidad xa cambiar nombre de arxivo y extension (JAVA)
Java
Matrix_Soul 0 4,879 Último mensaje 28 Diciembre 2004, 09:23 am
por Matrix_Soul
como obtener la extension y nombre del programa con CommondDialog
Programación Visual Basic
ricardovinzo 8 2,874 Último mensaje 16 Junio 2008, 22:30 pm
por ricardovinzo
[Batch] obtener nombre de archivo (solucionado)
Scripting
corax 2 10,668 Último mensaje 23 Junio 2009, 20:29 pm
por corax
Extraer nombre y extension de archivo en Batch[Solucionado]
Scripting
gorgon12 7 10,375 Último mensaje 6 Agosto 2009, 20:45 pm
por gorgon12
[BATCH] Cambiar extension a archivos
Scripting
ovichan 5 8,303 Último mensaje 27 Septiembre 2012, 16:32 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines