Registry Werte Ordner lesen bringt Syntaxfehler
Hi,
ich stell mich echt wieder irgendwie zu grün an.
Ist der Gedankengang falsch so nach einem Eintrag zu suchen? Im Grunde ist es ja ein "Ordner" und kein Key selber.
Nicht über die Sets über regkey_x86 wundern die sind so vorgegeben.
Gruß
ich stell mich echt wieder irgendwie zu grün an.
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
SET PackageName=Oracle_Java.Runtime.Environment_Version
SET SourceDir=%~dp0
: Logdatei
SET LogDir=%Public%\Logs
SET LogPraefix=msiUninst
SET LogFile=%LogDir%\%LogPraefix%_%PackageName%
Set "regkey_x86=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\MICROSOFT\WINDOWS\CURRENTVERSION\UNINSTALL"
for /f %i in ('reg query "%regkey_x86%" /s ^|find "{26A24AE4-039D-4CA4-87B4-2F83216030FF}"') do
msiexec /x {26A24AE4-039D-4CA4-87B4-2F83216030FF} REBOOT=ReallySuppress /L*v "%LogFile%_JRE1.6U29.log"
Ist der Gedankengang falsch so nach einem Eintrag zu suchen? Im Grunde ist es ja ein "Ordner" und kein Key selber.
Nicht über die Sets über regkey_x86 wundern die sind so vorgegeben.
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 183661
Url: https://administrator.de/forum/registry-werte-ordner-lesen-bringt-syntaxfehler-183661.html
Ausgedruckt am: 26.04.2025 um 18:04 Uhr
5 Kommentare
Neuester Kommentar

Hi,
errorlevel 0 ist immer wahr, deshalb wird der Befehl auch ausgeführt, wenn der tatsächliche Errorlevel höher ist. Wenn du richtig prüfen willst, verwende
oder setze den Befehl mit && ohne die if-Abfrage direkt hinter den Kram in Zeile 1
Wenn msiexec der letzte Befehl in der Batch ist, der ausgeführt werden soll, kannst du auf das "start /wait" gut verzichten. Die Batch-Datei wird dann sowieso erst beendet, wenn der Install-Prozess abgelaufen ist.
Nur am Rande: In der Registry gibt es nur Schlüssel, Werte und Daten, keine Ordner.
Gruß
errorlevel 0 ist immer wahr, deshalb wird der Befehl auch ausgeführt, wenn der tatsächliche Errorlevel höher ist. Wenn du richtig prüfen willst, verwende
1
if [%errorlevel%] equ ....
Wenn msiexec der letzte Befehl in der Batch ist, der ausgeführt werden soll, kannst du auf das "start /wait" gut verzichten. Die Batch-Datei wird dann sowieso erst beendet, wenn der Install-Prozess abgelaufen ist.
Nur am Rande: In der Registry gibt es nur Schlüssel, Werte und Daten, keine Ordner.
Gruß
Aloha,
sicher, wenn du statt
greetz André
P.S.:
sicher, wenn du statt
find
dann findstr
nimmst, kannst du gerne per ^|findstr "{WERT1} {WERT2} {WERT3}"
in deiner urspr. Schleife arbeiten, oder auch andersherum perfor %%i in ({WERT1} {WERT2} {WERT3}) do Reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /v %%i && start /wait MsiExec.exe /qn /x %%i
greetz André
P.S.:
if errorlevel=0
... a) wird das nix und b) gefällt dir &&
nicht?