* NIX getopt gleich für DOS

849
Francky Leyn

Ich möchte ein DOS-Skript mit mehreren optionalen Optionsflags schreiben. Ich muss diese optionalen Optionen analysieren.

Ein Beispiel:

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

Unter * NIX ist dies mit getopts möglich.

Die gleichen Beispiele unter * nix:

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

In die * nix-Skript-txt-Datei get_resolutionwürde man dann schreiben:

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

Gibt es ein DOS-Äquivalent für die * nix-Getopts?

0
Sie sprechen mit Sicherheit nicht über DOS. Bitte lesen Sie die Beschreibungen der Tags sorgfältig durch und bearbeiten Sie Ihre Frage entsprechend. Daniel B vor 5 Jahren 3

1 Antwort auf die Frage

1
Aulis Ronkainen

In Batch-Skripten werden alle Argumente in Variablen gespeichert %*. Auf jedes Argument kann durch die Variable% 1 für das erste Argument und% 2 für das zweite Argument usw. zugegriffen werden. Sie können die Argumente bis% 9 so behandeln.

Eine elegantere Argumentbehandlung erfordert die Verwendung eines Umschaltbefehls.

Schauen Sie sich diese Stackoverflow-Frage an: https://stackoverflow.com/questions/14286457/using-parameters-in-batch-files-at-windows-command-line

Es enthält weitere Informationen zum Umgang mit Argumenten in Batch-Skripts.