batch: if-Anweisung mit string-Vergleich immer true zurück

if "x%1" == "x" (
goto :l2
)
:l2
echo doskey %1>>startup.cmd

Versucht, mit und ohne Klammern auf beiden den Zustand und die springen auch versucht, ohne Anführungszeichen und natürlich springen auf der gleichen Linie - es gibt immer true zurück.

  • Sind Sie übergeben ein argument, um Ihre batch-Skript? %1 ist der Wert für das erste argument an das Skript übergeben; wenn Sie nicht durch ein argument, die if-Anweisung wird immer wahr sein. Was versuchen Sie zu erreichen mit Ihren if Aussage?
  • Ja, ich bin mir übergeben von Argumenten.
  • Nein das tut es nicht - aber genau derselbe code ausgeführt wird, gleichgültig, was es ergibt.
  • Kümmern Sie sich um das etwas erläutern?
InformationsquelleAutor UIlrvnd | 2012-08-31
Schreibe einen Kommentar