Autor
|
Tema: [batch] OBTENER NOMBRE CON EXTENSION (Leído 8,687 veces)
|
rochro
Desconectado
Mensajes: 42
|
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
Mensajes: 111
|
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.htmlEn cuanto a obtener los archivos dentro del directorio "archivos" puedes utilizar el comando "Dir": http://ss64.com/nt/dir.htmlPor 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.htmlEspero haberte ayudado. Un saludo!
|
|
|
En línea
|
|
|
|
|
sabeeee
Desconectado
Mensajes: 155
|
Aca esta, lo mas sencillo posible :1 set rando=archivo %random%.t01 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
Mensajes: 42
|
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 =) @echo off Setlocal enabledelayedexpansion For %%i IN (*.t01) do (call :comando %%i) :comando Set file=%~nx1 runpkr00 -d %file%
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
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í: Call Start /W "runpkr" "runpkr00.exe" -d " %%file%%" )
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: Start /W "runpkr" "runpkr00.exe" -d "%%~#"
Saludos.
|
|
« Última modificación: 12 Marzo 2014, 16:53 pm por Eleкtro »
|
En línea
|
|
|
|
sabeeee
Desconectado
Mensajes: 155
|
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í: Call Start /W "runpkr" "runpkr00.exe" -d " %%file%%" )
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: 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
Mensajes: 9.885
|
Disculpa, pero el /W es de wait ?.
si WAIT Iniciar aplicación y esperar a que finalice saludos!
|
|
|
En línea
|
|
|
|
rochro
Desconectado
Mensajes: 42
|
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
|
|
« Última modificación: 12 Marzo 2014, 22:48 pm por rochro »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
¿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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Utilidad xa cambiar nombre de arxivo y extension (JAVA)
Java
|
Matrix_Soul
|
0
|
5,021
|
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
|
3,115
|
16 Junio 2008, 22:30 pm
por ricardovinzo
|
|
|
[Batch] obtener nombre de archivo (solucionado)
Scripting
|
corax
|
2
|
10,993
|
23 Junio 2009, 20:29 pm
por corax
|
|
|
Extraer nombre y extension de archivo en Batch[Solucionado]
Scripting
|
gorgon12
|
7
|
10,986
|
6 Agosto 2009, 20:45 pm
por gorgon12
|
|
|
[BATCH] Cambiar extension a archivos
Scripting
|
ovichan
|
5
|
8,784
|
27 Septiembre 2012, 16:32 pm
por Eleкtro
|
|