Batch - reg query Zeichnfolge und Wert auslesen, bei CALL Parameterübergabe (Leerzeichen Problem)
Hallo Leute,
ich suche eine Lösung für mein folgendes Problem, kann mir dabei jemand bitte helfen?
Ich möchte mit reg query Zeichnfolgen und Werte auslesen und die Zeichnfolgen (%1) als Variable mit dem Wert (%3 usw) setzen.
Bei Beispiel 1- Alles bestens wenn die Werte keine Leerzeichen haben (bei Pfaden zB.)
Bei Beispiel 2 - habe ich 2 Probleme:
1. Bei jedem Parameter der keinen Inhalt hat bekommt die Variable %1 (:SET2) ein Leerzeichen dazu und ich kann mit den Variablen nicht weiterarbeiten
2. Was mache ich wenn der Registry Schlüssel mehr als 9 Zeichenfolgen hat?
Hier mein erster Anfänger Versuch:
Wie muss die 2. Schleife aussehen damit das ohne umwege klappt?
gruß xpander
ich suche eine Lösung für mein folgendes Problem, kann mir dabei jemand bitte helfen?
Ich möchte mit reg query Zeichnfolgen und Werte auslesen und die Zeichnfolgen (%1) als Variable mit dem Wert (%3 usw) setzen.
Bei Beispiel 1- Alles bestens wenn die Werte keine Leerzeichen haben (bei Pfaden zB.)
Bei Beispiel 2 - habe ich 2 Probleme:
1. Bei jedem Parameter der keinen Inhalt hat bekommt die Variable %1 (:SET2) ein Leerzeichen dazu und ich kann mit den Variablen nicht weiterarbeiten
2. Was mache ich wenn der Registry Schlüssel mehr als 9 Zeichenfolgen hat?
Hier mein erster Anfänger Versuch:
:: BEISPIEL 1
for /f "tokens=1,3 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\IRGENDWAS" ^|findstr "REG_SZ"') do call :SET1 %%a %%b
:: BEISPIEL 2
for /f "tokens=1,3-9 delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\IRGENDWAS" ^|findstr "REG_SZ"') do call :SET2 %%a %%b %%c %%d %%e %%f %%g %%h
:SET1
set "%1=%2"
goto :EOF
:SET2
set "%1=%2 %3 %4 %5 %6 %7 %8 %9"
goto :EOF
Wie muss die 2. Schleife aussehen damit das ohne umwege klappt?
gruß xpander
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 118082
Url: https://administrator.de/forum/batch-reg-query-zeichnfolge-und-wert-auslesen-bei-call-parameteruebergabe-leerzeichen-problem-118082.html
Ausgedruckt am: 15.04.2025 um 19:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo xpander!
Eigentlich stellt sich die Frage, was Du denn dann weiter mit den Variablen(-werten) vor hast (das Unterprogramm hat nur dann Sinn, wenn dort mehr als nur die Zuweisung erfolgen soll) ...
... ansonsten etwa so:
Grüße
bastla
Eigentlich stellt sich die Frage, was Du denn dann weiter mit den Variablen(-werten) vor hast (das Unterprogramm hat nur dann Sinn, wenn dort mehr als nur die Zuweisung erfolgen soll) ...
... ansonsten etwa so:
for /f "tokens=1,2* delims= " %%a in ('reg query "HKEY_LOCAL_MACHINE\IRGENDWAS" ^|findstr "REG_SZ"') do call :SET2 %%a "%%c"
goto :eof
:SET2
set "%1=%~2"
goto :eof
bastla