Frage von aloisff, 31

Batch-scripting, die Klammer stört?

Hallo, ich probier gerade ein wenig mit batch-scripting herum und bleibe gerade an offensichlich störenden Klammern hängen: Ich lese zuerst eine bestimmte Zeile aus einer Textdatei aus (das funktioniert), jede dieser Zeien hat einen Doppelpunkt, ich brauche nur den Teil hinter dem Doppelpunkt, das mache ich mit folgender Zeile:

for /F "tokens=2 delims=:" %%i in ("%Var%") do set Var=%%i

...auch das funktioniert meistens, ausgenommen im String hinterm Doppelpunkt kommt eine Klammer vor, was mache ich falsch?

Antwort
von S1r1us13, 23

Komisch... bei mir funktioniert der Befehl einwandfrei mit "Doof:)Miep" als Inhalt von %Var% und auch mit "Doof:(Mi()ep".

Welche Fehlermeldung bekommst du denn?

Kommentar von aloisff ,
""")" kann an dieser Stelle syntaktisch nicht verarbeitet werden.

...ich erkläre mal grob was ich mache (gerne auch Kommentare wie das einfacher geht, es ist aber eh eher eine Spielerei um den Umgang mt batch zu lernen):

Ich lese zuers alle auf dem Laptop gespeicherten Wlan-Profile aus (bin viel unterwegs;))... und speichere die die Daten in einer 'ssid.txt' und lass diese anzeigen, die Zeilen sehen (z.B.) dann so aus:

SSID-Name              : "maxspot (public)"

danach wird ich durch die Auswahl einer Zeilennummer eine bestimmte Zeile (SSID) ausgelesen und in der Folge das auf dem Laptop für diese SSID gespeicherte Passwort ausgegeben. Das funktioniert auch so weit, ausgenommen bei der o.a. Zeile.
Gerne poste ich auch den aus mehreren Forenbeiträgen zusammengebastelten Spaghetticode bin mir aber nicht sicher ob der, wie er jetzt existiert nicht eher verwirrt.

Kommentar von S1r1us13 ,

Ahaaa, die Anführungszeichen sind das Problem. Benutz "Setlocal EnableDelayedExpansion" am Anfang der Datei und schreib statt "%Var%" "!Var!", dann wird der Wert der Variable als Zeichenfolge interpretiert anstatt funktionell.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten