Ich habe ein paar Batch-Dateien zu üben und es gibt etwas, das ich schwer verstehen kann. Bitte beachten Sie, dass ich neu bin und dass mein Code wahrscheinlich nicht korrekt oder der effizienteste sein wird.Batch Windows Parameter
Meine Frage ist, wie eine Nachricht zu liefern, falls der Benutzer mit den Parametern zur Verfügung gestellt hat nicht die Batch-Datei auszuführen (oder im Fall verwendet er mehr Parameter als erforderlich)
set argu=true
If %1 == PhoneFamily (findstr /is "%2" PhoneFamily.txt)
If %1 == PhoneFriends (findstr /is "%2" PhoneFriends.txt)
If %1 == PhoneWork (findstr /is "%2" PhoneWork.txt)
If not "%%1"=="PhoneFamily" If not "%%1"=="PhoneWork" If not "%%1"=="PhoneFriends" set argu=false
If "%argu%"=="false" echo "Wrong Parameters, Please Try Again. The Files are PhoneFamily, PhoneWork, PhoneFriends. Only 2 Paramaters at a time."
Dies ist die einzige So konnte ich einen "Fehler" melden, wenn zu wenig oder zu viele Parameter angegeben wurden. Aber ich möchte eine bessere Art und Weise lernen, dass diese Möglichkeiten (ein Fehler für keine Parameter trennt, und eine für 3 oder mehr Parameter angegeben.
Verwenden 'if„% ~ 1“, was bedeutet = = "PhoneFamily" (...) '; plain'% 1' schlägt fehl, wenn leer (kein Argument ist d elivered); '%% 1' ist einfach falsch (expandiert buchstäblich zu'% 1') ... – aschipfl