kann man über zwei wege erreichen. einmal über regedit selber, wenn du den schlüssel kennst, den du prüfen willst, und über reg.exe, daß ein bestandteil von windows 2000/xp ist. dann kannst du über batchbefehl mit regedit den schlüssel in eine datei laden und in der bat- oder cmd datei dann mit if exist eine bedingung setzten. um sicher zu sein, daß der schlüssel auch stimmt kannst du noch mit find schlüssel den inhalt der datei prüfen. ein beispiel für regedit
REGEDIT.EXE [ /L:system ¦ /R:user ] /E exportfile registry_key
importfile.REG .REG file to be imported (or merged)
exportfile File name the information should be written to
registry_key Registry key to be exported
e.g. HKEY_CLASSES\ROOT\*\shell
/S Silent, i.e. hide confirmation box when importing files
/E Export registry file
/L:system Specify the location of the system.dat to use
/R:user Specify the location of the user.dat to use
/C Compress [filename] (Windows 98 only
der aufruf wäre dann derart
REGEDIT /E %TEMP%.\_Test_.REG HKEY_CURRENT_USER\SOFTWARE\Intel\LANDesk\LDWM\LDIScan32
da wird in temp die datei _Test_.REG erzeugt die den inhalt des schlüssels unter HKEY_CURRENT_USER\SOFTWARE\Intel\LANDesk\LDWM\LDIScan32 beinhaltet, da sollte dann natürlich dein gesuchter schlüssel stehn. eine andere methode wäre das ganze über reg.exe zu erledigen, reg.exe ist ein abfrage- und änderungstool zum bearbeiten der registry über batch. reg.exe bietet im gegensatz zu regedit mehr abfragemöglichkeiten.
reg.exe Registry Console Tool For Windows 2000 - version 2.0
Copyright (C) Microsoft Corp. 1981-1999. All rights reserved
REG Operation [Parameter List]
Operation [ QUERY | ADD | DELETE | COPY |
SAVE | LOAD | UNLOAD | RESTORE |
COMPARE | EXPORT | IMPORT ]
Return Code: (Except of REG COMPARE)
0 - Succussful
1 - Failed
For help on a specific operation type:
REG Operation /?
Examples:
REG QUERY /?
REG ADD /?
REG DELETE /?
REG COPY /?
REG SAVE /?
REG RESTORE /?
REG LOAD /?
REG UNLOAD /?
REG COMPARE /?
REG EXPORT /?
REG IMPORT /?
mit dem befehl reg query kannst du nun genau deinen schlüssel abfragen und da reg.exe einen wer 0 oder 1 zurückgibt, kannst du dann über errorlevel z.b. eine bedingung setzten
REG QUERY HKCU\Control Panel\International /v sCountry
würde als beispiel die landesspezifische kennung zurück liefern, bei mir den wert Deutschland
! REG.EXE VERSION 2.0
HKEY_CURRENT_USER\Control Panel\International
sCountry REG_SZ Deutschland
gibts den schlüssel nicht, oder ist die query falsch kannst du mit errorlevel 1 eine bedingung verknüpfen.
REG QUERY HKCU\Control Panel\International /v sCountry
if errorlevel 1 goto ENDE
else
echo der Schlüssel ist vorhanden
:ENDE
echo Der Schlüssel ist falsch oder nicht Vorhanden
das ganze läßt sich natürlich mit variablen und schleifen verschönern und in dein startup-script integrieren. das hier soll dir nur den weg aufzeichnen, das es machbar ist...
greetz
hugo