Lesewörter, die durch Leerzeichen und Zeichenfolgen getrennt sind, enthalten auch Leerzeichen in einem Stapelskript

Ich muss den Standardwert der Registrierung aus einem Stapelskript lesen. Der Name bestimmter Elemente enthält einige Leerzeichen. Außerdem möchte ich for loop in batch file zweimal ausführen.

rem @echo OFF

setlocal ENABLEEXTENSIONS
set KEY_NAME="HKEY_CURRENT_USER\Software\abc\xyz pqr"

FOR /F "tokens=1-3 delims=<TAB>" %%A IN ('REG QUERY %KEY_NAME% 2^>nul') DO (
    set ValueName=%%A
    set ValueType=%%B
    set ValueValue=%%C
)
if defined ValueName (
    @echo Value Name = %ValueName%
    @echo Value Type = %ValueType%
    @echo Value Value = %ValueValue%
) else (
    @echo %KEY_NAME%\%VALUE_NAME% not found.
)
pause

It gibt folgende Ausgabe aus

rem @echo OFF

setlocal ENABLEEXTENSIONS

set KEY_NAME="HKEY_CURRENT_USER\Software\abc\xyz pqr"

FOR /F "tokens=1-3 delims=<TAB>" %A IN ('REG QUERY "HKEY_CURRENT_USER\Software\abc\xyz pqr" 2>nul') DO (
set ValueName=%A
 set ValueType=%B
 set ValueValue=%C
)

(
set ValueName=HKEY_CURREN
 set ValueType=_USER\Software\abc\xyz pq
 set ValueValue=
)

(
set ValueName=    (Default)    REG_SZ    C:\Program Files (x86)\abc\
 set ValueType=
 set ValueValue=
)

(
set ValueName=
 set ValueType=uthor    REG_SZ    gj
 set ValueValue=
)

(
set ValueName=    Version    REG_SZ    1.4.0.0
 set ValueType=
 set ValueValue=
)

if defined ValueName (



)  else ()
Value Name =     Version    REG_SZ    1.4.0.0
Value Type =
Value Value =

pause
Press any key to continue . . .

Ich möchte folgende Ausgabe erhalten und möchte auch, dass diese for-Schleife stoppt, sobald ich den Wert (Default) @ erhalt

(
set ValueName=(Default)
set ValueType=REG_SZ
set ValueValue=C:\Program Files (x86)\abc\
)

ielen Dank im Voraus für Ihre Hilf

Antworten auf die Frage(2)

Ihre Antwort auf die Frage