Zum Inhalt wechseln


Foto

Batch Variable aus Registrierung mit Leerzeichen


  • Bitte melde dich an um zu Antworten
31 Antworten in diesem Thema

#31 massaraksch

massaraksch

    Newbie

  • 152 Beiträge

 

Geschrieben 09. März 2016 - 11:59

Ich hatte doch die funktionierende Zeile in A15 geschrieben? :confused:

 

PS:

Dein SKIP ist trotzdem unsinnig. Oder liest du mehrere Zeilen aus einer Datei?

Und reg query gibt auch nicht mehrere Zeilen aus, sondern nur eine.


mfg, massaraksch

#32 Ody

Ody

    Newbie

  • 16 Beiträge

 

Geschrieben 09. März 2016 - 18:14   Lösung

Hallo Massaraksch,

gut das du nochmal nachfragst weil mir sonst mein Fehler bei der geposteten Lösung nicht aufgefallen wäre.
Du hast vollkommen recht, jetzt verstehe ich auch dein SKIP Hinweis:

C:\>reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MeinProgram\ /v Pfad
										skip 1
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MeinProgram				skip 2
    Pfad    REG_SZ    C:\Program Files (x86)\Mein Program\

Ich dachte ich muss die ersten beiden Zeile ignorieren was nach meinen erneuten Tests, wie du schon sagtest unsinnig ist.

Deine Variante fügt Token 3 (%%i) mit dem Rest * (%%j) zusammen, leider geht dabei das Leerzeichen zwischen den beiden Variablen
verloren, also zwischen "C:\Program" und "Files...".

Lösung ist ab Token 2 zu Starten und * also nur %%j zu verwenden:

for /f "tokens=2,*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MeinProgram" /v Pfad') do set VAR=%%j

Nochmal Danke an Alle und besonders an lefg und massaraksch!

 

Grüße
Ody