Wie fragt man in einem Batch-Script ab, ob ein Parameter mit einem Anführungszeichen beginnt?

Hallo Welt

Ich möchte in einem Batch-Script abfragen, ob der übergebene Parameter mit einem Anführungszeichen beginnt. Ich bekomme aber immer die Fehlermeldung „( was unexpected at this time.“ (beim IF)
Hintergrund: Wenn der Inhalt des Parameter mit einem Anführungszeichen beginnt, soll er ohne Anführungszeichen (am Beginn und Ende) einer anderen Variablen zugewiesen werden, sonst Variable = Parameter.

Ich habe 2 Varianten versucht.
Variante 1:

SET par=%1
REM Nach dem == steht Hochkomma, Anführungszeichen, Hochkomma
IF '%par:~0,1%'=='"' (
	SET root=%par:~1,-1%
) ELSE (
	SET root=%1
)

Variante 2:

REM Alles mit Anführungszeichen
SET par=%1
SET az="
IF "%par:~0,1%"=="%az%" (
	SET root=%par:~1,-1%
) ELSE (
	SET root=%1
)

Wie könnte man dieses Problem lösen?

Schöne Grüße aus Österreich
Roland

Moin,

was ist das für eine Sprache? Sieht aus wie DOS, aber da gibt es keine Klammern und keine Substrings.

Gruß Ralf

Servus Ralf

Ja, das ist DOS Batch-Script.

Die Syntax mit Klammern und Substrings gibt es seit mindestens Windows XP!
Ich will es unter Windows 7 verwenden.

Schöne Grüße
Roland

Der Parameter flag ~ trimmt doch nur Quotes, wieso willst du darauf testen ob sie existieren ?