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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  pasarle argumentos a un bat?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pasarle argumentos a un bat?  (Leído 7,039 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
pasarle argumentos a un bat?
« en: 21 Octubre 2012, 05:24 am »

Hey chicos alguien sabe como puedo pasarle argumentos a un archivo bat y que los recibe y puedo manipularlos en ejecucion?
por ejemplo lo que quiero hacer es por tomar varios archivos de texto, y arrastrarlos hacia el bat y luego en mi bat poder manipularlos.

por ejemplo en mi bat llamo a un programa pasandole como parametros el nombre del archivo de texto

\xxx\xxx\programa textfile.txt

normalmente escribo los nombres de los archivos de texto que quiero modificar cada vez que quiero manipularlos pero me gustaria saber si esto es posible y como para ahorrarme mucho tiempo, cualquier ayuda gracias chicos  :)


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.813



Ver Perfil
Re: pasarle argumentos a un bat?
« Respuesta #1 en: 21 Octubre 2012, 09:41 am »

Arrastrar un archivo y tomarlo como argumento es muy fácil.

La cosa se complica si quieres arrastrar VARIOS archivos, ya que todo se junta en una sola linea, y los archivos con espacios en el nombre llevarán comillas dobles ", y los que no tengan espacios en el nombre no llevarán delimitador, así que hay que comerse la cabeza para separar todos los elementos sin saber si habrá elementos con comillas dobles o no...

Aquí tienes un ejemplo muy claro con el que te puedes guiar:

[Batch] [Aporte] (O eso creo xD) Consola de reciclaje v1.0 by Elektro H@cker

 

PD: te dejo este for delimitador de comillas dobles por si llegas a necesitarlo:

Código
  1. setlocal EnableDelayedExpansion
  2. set "var=one"two"three"
  3. FOR /f tokens^=1-3^ delims^=^" %%a in ("!var!") do echo %%a--%%b--%%c

Saludos


« Última modificación: 21 Octubre 2012, 09:48 am por EleKtro H@cker » En línea

0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
Re: pasarle argumentos a un bat?
« Respuesta #2 en: 21 Octubre 2012, 19:30 pm »

Para pasar parámetros, debes utilizar: %1 %2 %3 %4, etc
Cada % es un parámetro diferente:
Código
  1. echo Hola %1 %2
  2.  
Lo usas como :
Código:
comando.bat Javier Esteban
Salida:
Código:
Hola Javier Esteban

Si deseas utilizar más parámetros de los permitidos, utiliza %*
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: pasarle argumentos a un bat?
« Respuesta #3 en: 22 Octubre 2012, 05:06 am »

Gracias era tan facil  :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pasarle parametros a 1 exe
Programación Visual Basic
Krnl64 1 1,720 Último mensaje 24 Mayo 2006, 03:55 am
por byebye
Pasarle Strings a una funcion de una DLL en VB6
Programación Visual Basic
Krnl64 3 1,824 Último mensaje 31 Mayo 2006, 13:37 pm
por Krnl64
Pasarle la variable %%A de un FOR a un segundo FOR
Scripting
nhaalclkiemr 1 2,066 Último mensaje 24 Mayo 2007, 02:09 am
por sirdarckcat
Velneo.... y esto?
Dudas Generales
Luna71c0 4 3,934 Último mensaje 22 Noviembre 2014, 16:02 pm
por ea3000
Consulta argumentos
Programación C/C++
elProfeta1979 5 2,056 Último mensaje 22 Diciembre 2013, 02:24 am
por elProfeta1979
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines