Was ist der richtige Weg, um zu testen, ob ein Parameter in einer Batch-Datei leer ist?

Ich muss testen, ob eine Variable gesetzt ist oder nicht. Ich habe verschiedene Techniken ausprobiert, aber sie scheinen immer zu versagen%1 wird in Anführungszeichen gesetzt, z. B. wenn%1 ist"c:\some path with spaces".

IF NOT %1 GOTO MyLabel // This is invalid syntax
IF "%1" == "" GOTO MyLabel // Works unless %1 has double quotes which fatally kills bat execution
IF %1 == GOTO MyLabel // Gives an unexpected GOTO error.

GemäßDiese SeiteDies sind die unterstütztenIF Syntaxtypen. Ich sehe also keinen Weg, dies zu tun.

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

Antworten auf die Frage(16)

Ihre Antwort auf die Frage