Wie lese ich mittels Batch-File (CMD) eine einzelne Zeile aus?

Guten Abend zusammen,

ich möchte mir eine Batch-File schreiben, mit der ich den Namen meines WLAN-Netzwerks (SSID) auslese. Dazu lasse ich mir eine Zusammenfassung der Drahtlosinformationen mittels netsh wlan show all anzeigen. Diesen umfangreichen Text filtere ich nach dem Begriff Status mittels netsh wlan show all | find /N "Status".

Das Ergebnis sind auf meinem System vier Einträge, die exemplarisch wie folgt aussehen:

[64]   Status                 : Verbunden
[79]   Status des gehosteten Netzwerks : Nicht verfügbar
[92]Status des gehosteten Netzwerks
[94]   Status                : Nicht verfügbar

Ich weiß, dass in Zeile 65 der aktive/aktuelle WLAN-Netzwerkname (SSID) hinterlegt ist. Diese sieht folgendermaßen aus:

SSID                  : FRITZ!Box 7520 SZ

In meinem Fall müsste ich den Text in Zeile 65, der nach einem Leerzeichen nach dem Doppeltpunkt beginnt, extrahieren und in einer Variablen abspeichern.

Ich weiß, dass unter der CMD-Eingabeaufforderung eine Variablenzuweisung nicht nach dem klassischen Prinzip

var = Berechnung

erfolgt, sondern stattdessen eine for-Schleife zu verwenden ist. Mein Ansatz dafür lautet

for /f %%a in ('netsh wlan show all ^|find /N "Status"') do (set "strSSID=%%a")

Jedoch müsste ich die Laufvariable %%a (?) auf 1 begrenzen, weil ich sonst den letzten Eintrag ([94]) abspeichere.

Meine Fragen lauten daher konket:

  1. Wie limitiere ich die Laufvariable einer for-Schleife?
  2. Wie lese ich dann die um eins inkremetierte Zeile aus?
  3. Wie extrahiere ich den Text dieser Zeile nach dem Doppelpunkt sowie dem einen Leerzeichen bis zur EOL und speichere diesen in einer Variable ab?

Ich glaube, dass ich der Lösung schon recht nah bin, aber hier komme ich leider nicht weiter. Ich freue mich, über jeden Hinweis und weitere Hilfe.

Viele Grüße,

Christian

bat, Batch, cmd

Meistgelesene Beiträge zum Thema Cmd