Autor
|
Tema: Parámetros en Batch [AYUDA] (Leído 4,918 veces)
|
.:Xx4NG3LxX:.
|
NECESITO AYUDA!!! Hola hackers, necesito ayuda con el temita este de los parámetros. Lo que quiero saber exactamente es como definir
|
|
« Última modificación: 21 Enero 2020, 22:16 pm por .:Xx4NG3LxX:. »
|
En línea
|
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"
|
|
|
Serapis
|
Son variables... las variables toman valores.
Dado que no son específicas a ningún caso concreto, esto es son genéricos, el nombre es irrelevante, excepto su orden... %1 representa el valor asignado a dicha variable (parámetro), el %2 representa al segundo parámetro etc...
por ejemplo supongamos que se quiere llamar a un programa que va a comprimir, y aparte de la ruta permite ciertos parámetros... Se podría invocar como: programa.exe "ruta..." x 1 -d
un bat por ejemplo, representará la ruta con %1, el parámetro x con %2, el valor del tercer parámetro (ese '1'), con %3 y el valor del parámetro '-d' se asignará a %4...
Supongamos que el programa también decidiera interpretar la ruta en otro orden, podría asignarle un prefijo para reconocerlo (pongamos 'r') ...entonces, todavía se podría crear una entrada al menú contextual así: programa.exe "x" "5" "-de" "r=" %1 es decir el menú contextual recibirá una ruta (1 fichero , una carpeta o más varios), se asigna a ese %1... nota que el resto de parámetros quedan fijos en el menú cotextual... (observa el '5' y el '-de')
Más retorcido aún, esa entrada al menú contextual, podría derivarse a un bat y el bat enviarlo a un ejecutable... Entonces ese bat asignaría estos valores a cada parámetro según el orden enviado desde el menu contextual (señalado más arriba), que invocando al ejecutable pondría: programa.exe %1 %2 %3 %4
Ahora la ruta estaría en el parámetro %4, porque es ese el orden en que se fijó en el menú contextual y su valor (contenido) sería: 'r="C:\la ruta\adonde sea\fichero.ext" ', dado el caso que el fichero seleccionado cuando el menú contextual lo active fuere: "C:\la ruta\adonde sea\fichero.ext"
En cualquier caso considera que el %0 es el propio ejecutable (que queda filtrado), y todo lo que venga detrás son los parámetros, lo habitual es recibir al menos un parámetro (típicamente una ruta), pero incluso ninguno... solo invocar el programa lo abre...
En resumen, cada variable así representa el enésimo parámetro recibido (considerado como tal).
|
|
« Última modificación: 22 Diciembre 2019, 01:50 am por NEBIRE »
|
En línea
|
|
|
|
.:Xx4NG3LxX:.
|
Muchas gracias por tu ayuda!!! Si tengo otra duda te aviso, ok? Me podrías hacer un ejemplo? Si no es mucho pedir? Es para ver si entendí del todo bien. DE VERDAD MUCHAS GRACIAS
|
|
« Última modificación: 22 Diciembre 2019, 03:16 am por ÁngelSsr »
|
En línea
|
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
un bat por ejemplo, representará la ruta con %1, el parámetro x con %2, el valor del tercer parámetro (ese '1'), con %3 y el valor del parámetro '-d' se asignará a %4...
Te olvidaste de la variable de parámetro '%0', que es la que en realidad representa la ruta de inicio del script. Siguiendo tu ejemplo genérico, si hablásemos del uso de estas variables en el registro de Windows con la intención de asociar un programa que tome como parámetro la ruta actual del archivo o directorio seleccionado, ahí si que se especificaría '%1'. Aparte, el valor de estas variables se puede definir en el script de forma arbitraria para enviar los argumentos que una subrutina deba procesar. Más info aquí: https://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.0.html;msg1797955#msg1797955Y aquí: https://ss64.com/nt/syntax-args.htmlSaludos
|
|
« Última modificación: 24 Diciembre 2019, 10:52 am por Eleкtro »
|
En línea
|
|
|
|
.:Xx4NG3LxX:.
|
Muchísimas gracias!! De verdad. Me sirvió mucho. GRACIAS
|
|
|
En línea
|
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"
|
|
|
Serapis
|
Te olvidaste de la variable de parámetro '%0', que es la que en realidad representa la ruta de inicio del script. Siguiendo tu ejemplo genérico, si hablásemos del uso de estas variables en el registro de Windows con la intención de asociar un programa que tome como parámetro la ruta actual del archivo o directorio seleccionado, ahí si que se especificaría '%1'. Pués no, no lo olvidé... Si lees más abajo, verás que puse esto: ... En cualquier caso considera que el %0 es el propio ejecutable (que queda filtrado), y todo lo que venga detrás son los parámetros ...
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Batch parametros
Scripting
|
magarcan
|
3
|
7,266
|
30 Octubre 2006, 03:24 am
por sirdarckcat
|
|
|
16 parametros para un fichero batch
Scripting
|
despistado
|
1
|
2,712
|
26 Junio 2007, 23:02 pm
por Ragnarok
|
|
|
Dudas: Parametros remplazables | Programación Batch
Scripting
|
miguel_s777
|
1
|
4,011
|
8 Octubre 2011, 18:17 pm
por leogtz
|
|
|
[BATCH] CMD > ADD REG > parámetros incorrectos
Scripting
|
quico5
|
1
|
3,051
|
23 Agosto 2012, 14:32 pm
por quico5
|
|
|
[Batch/Bash] Iniciar Con Parametros
Scripting
|
Gamer50
|
4
|
2,706
|
14 Agosto 2017, 00:39 am
por Gamer50
|
|