Simplemente convierto algunos scripts de shell en archivos por lotes y hay una cosa que parece que no puedo encontrar ... y es un conteo simple del número de argumentos de línea de comando.Archivos de proceso por lotes: número de argumentos de línea de comando
por ejemplo. si tiene:
myapp foo bar
En Shell:
- $ # -> 2
- $ * -> foo bar
- $ 0 -> miaplicacion
- $ 1 -> foo
- $ 2 -> bar
en lote
- ?? -> 2 < ---- ¿qué comando ?!
- % * -> foo bar
- % 0 -> miaplicacion
- % 1 -> foo
- % 2 -> Barra de
Así que he mirado alrededor, y ya sea que Estoy buscando en el lugar equivocado o estoy ciego, pero parece que no puedo encontrar una manera de contar el número de argumentos de línea de comando pasados.
¿Hay algún comando similar al "$ # de shell? "para los archivos por lotes?
ps. Lo más parecido que he encontrado es recorrer el% 1s y usar 'shift', pero necesito referirme a% 1,% 2, etc. más adelante en el script, así que eso no es bueno.
su cadena es '2 myapp foo bar'? – PsychoData
consejo: no convierta sh en BAT. , en su lugar, descargue cygwin y úselo. es decir, sus scripts sh funcionarán en una máquina de Windows. ¡y no tendrás que traducir cada sh a BAT! –