limitación del número de parámetros en ficheros bat

17/04/2005 - 10:33 por slag | Informe spam
He visto que solo se puede referenciar en un fichero batch (bat o cmd) hasta
el parámetro 9, de la forma %1, %2%9

¿no se admiten más parámetros? ¿está limitado a ese máximo, que aunque sea
alto, está limitado?

gracias.


 

Leer las respuestas

#1 JM Tella Llop [MVP Windows]
17/04/2005 - 10:45 | Informe spam
El numero de parametros en un bat es ilimitado. Ahora bien, a pesar de ser
ilimitado solo puede referenciarse los 9 primeros parametros de la forma %1,
%2, %3,%8, %9

Pero tambien tenemos el comando "shift" el cual pasa el parametro 2 al 1, el
3 al 2, etc... es decir, los va haciendo descender. Por tanto al descenter,
el parametro 10 (que no es visible) pasara al 9 (qye ya si que lo es). Es
decir, por cada comando shift tenemos accesibe un nuebo parametro (y se
pierde el anterior).

Debido a que los ficheros bat tambien admiten variables del tipo "array"
(tablas), podemos crearnos una variable de ese tipo y almacenar en ella
todos los parámetros usando una simple subrutina del tipo que te dejo en
este ejemplo:

set /a i=0
:rparm
set /a i+=1
set param_%i%_=%1
shift
if {%1} NEQ {} goto :rparm
...continuacion de tu bat


Posteriormente puedes ya referneciar por: param_1_ param_2_ param_3_ ... etc
todos los parametros y en la variable de entorno "i" tienes el numero de
parametros pasados.



Jose Manuel Tella Llop
MVP - Windows
(quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.



"slag" wrote in message
news:
He visto que solo se puede referenciar en un fichero batch (bat o cmd)
hasta el parámetro 9, de la forma %1, %2%9

¿no se admiten más parámetros? ¿está limitado a ese máximo, que aunque sea
alto, está limitado?

gracias.





Preguntas similares