Registry auslesen - Variablenvergleich schlägt fehl
Hallo zusammen,
irgendwie bin ich gerade zu blöd oder zu blind...
Wenn ich das folgende in einer .bat Datei ausführen lasse:
Bekomme ich keinen Output per echo.
Füge ich nach der FOR Zeile noch echo __%ProfileName%__ ein, bekomme ich den Output:
Die Unterstrichte deswegen, damit man sehen kann, dass die Variable keine Leerzeichen o.ä. enthält (d.h.: hinter ProfileName=%%I ist auch _wirklich_ kein Leerzeichen o.ä.).
Zusätzlich sollte man erkennen, dass %ProfileName% auch wirklich auf: StandardProfil gesetzt wurde.
Wenn ich die oberen 2 Kommandos allerdings direkt in einer Eingabeaufforderung verwende (und dafür natürlich %%I gegen %I ersetze), dann bekomme ich sehr wohl "ja" als Output?!?
Warum funktioniert mein Vergleich der Variablen mit dem Wert innerhalb der Batch Datei nicht?
Danke im Voraus,
Highend
irgendwie bin ich gerade zu blöd oder zu blind...
Wenn ich das folgende in einer .bat Datei ausführen lasse:
FOR /F "tokens=3 delims=, " %%I IN ('REG QUERY "HKCU\Software\WinRAR\Profiles\0" /v Name') DO SET ProfileName=%%I
IF "%ProfileName%"=="StandardProfil" echo ja
Bekomme ich keinen Output per echo.
Füge ich nach der FOR Zeile noch echo __%ProfileName%__ ein, bekomme ich den Output:
__StandardProfil__
Die Unterstrichte deswegen, damit man sehen kann, dass die Variable keine Leerzeichen o.ä. enthält (d.h.: hinter ProfileName=%%I ist auch _wirklich_ kein Leerzeichen o.ä.).
Zusätzlich sollte man erkennen, dass %ProfileName% auch wirklich auf: StandardProfil gesetzt wurde.
Wenn ich die oberen 2 Kommandos allerdings direkt in einer Eingabeaufforderung verwende (und dafür natürlich %%I gegen %I ersetze), dann bekomme ich sehr wohl "ja" als Output?!?
Warum funktioniert mein Vergleich der Variablen mit dem Wert innerhalb der Batch Datei nicht?
Danke im Voraus,
Highend
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 188220
Url: https://administrator.de/contentid/188220
Ausgedruckt am: 18.12.2024 um 19:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo Highend01!
Bist Du Dir hinsichtlich des groß geschriebenen "P" sicher? Versuch es mal mit "
BTW:
Grüße
bastla
Bist Du Dir hinsichtlich des groß geschriebenen "P" sicher? Versuch es mal mit "
if /i
" ...BTW:
Die Unterstrichte deswegen, damit man sehen kann, dass die Variable keine Leerzeichen o.ä. enthält (d.h.: hinter ProfileName=%%I ist auch _wirklich_ kein Leerzeichen o.ä.).
Das ließe sich auch einfach so sicherstellen:FOR /F "tokens=3" %%I IN ('REG QUERY "HKCU\Software\WinRAR\Profiles\0" /v Name') DO SET "ProfileName=%%I"
bastla