* NIX getopt por igual para DOS

0

Quiero escribir un script DOS con múltiples opciones opcionales. Tengo que analizar estas opciones opcionales.

Un ejemplo:

get_resolution.bat /?
get_resolution.bat /h input.jpg
get_resoltion.bat /v input.jpg

Bajo * NIX esto se puede hacer con getopts.

Los mismos ejemplos bajo * nix:

get_resolution -?
get_resolution -h input.jpg
get_resolution -v input.jpg

En el archivo txt * nix script, get_resolutionuno escribiría:

while getopts ?hv flag  
do  
  case $flag in  
    ?) man get_resolution  
    h) get_horizontal_resolution $1
    v) get_vertical_resolution $1                       ;;
  esac
done

¿Existe un equivalente de DOS para los getopts * nix?

Francky Leyn
fuente
3
Ciertamente no estás hablando de DOS. Lea detenidamente las descripciones de las etiquetas y edite su pregunta en consecuencia.
Daniel B

Respuestas:

1

En los scripts por lotes, todos los argumentos se almacenan en variables %*. Se puede acceder a cada argumento por la variable% 1 para el primer argumento, y% 2 para el segundo y así sucesivamente. Puede manejar los argumentos como este hasta% 9.

Un manejo de argumentos más elegante requiere el uso de shift-command.

Eche un vistazo a esta pregunta de Stackoverflow: https://stackoverflow.com/questions/14286457/using-parameters-in-batch-files-at-windows-command-line

Tiene más información sobre el manejo de argumentos en scripts por lotes.

Aulis Ronkainen
fuente