Ich muss die Registrierung für mehrere Schlüssel überprüfen, bevor ich mein Programm starte (sie sollten nicht existieren). Die weit verbreitete Lösung zum Überprüfen von Registrierungsschlüsseln funktioniert nur für eine Prüfung, da sie global ErrorLevel auf 1 setzt. Das folgende Beispiel wird nicht korrekt funktionieren.Überprüfen Sie für mehrere Registrierungsschlüssel in Batch-Datei
@echo off
reg query HKEY_LOCAL_MACHINE\SOFTWARE\mykey >nul
if %errorlevel% equ 0 (
echo "mykey exists - do nothing"
) else (
reg query HKEY_LOCAL_MACHINE\SOFTWARE\mykey2 >nul
if %errorlevel% equ 0 (
echo "mykey2 exists - do nothing"
) else (
run my program
)
)
Das wird nicht funktionieren und es hat auch eine falsche Logik hinter dem Code. – Himmel
@Himmel - Ich habe eine redundante 'eq' gelöscht. – npocmaka
Errorlevel wird einen Wert von 1 haben, egal was es einmal auf 1 gesetzt hat, so dass es in Ihrem Fall zu einem falsch negativen Zustand kommen wird. – Himmel