Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Registry Werte Ordner lesen bringt Syntaxfehler

Frage Entwicklung Batch & Shell

Mitglied: H41mSh1C0R

H41mSh1C0R (Level 2) - Jetzt verbinden

17.04.2012 um 16:07 Uhr, 2920 Aufrufe, 5 Kommentare

Hi,

ich stell mich echt wieder irgendwie zu grün an.

01.
SET PackageName=Oracle_Java.Runtime.Environment_Version 
02.
SET SourceDir=%~dp0 
03.
 
04.
: Logdatei 
05.
SET LogDir=%Public%\Logs 
06.
SET LogPraefix=msiUninst 
07.
SET LogFile=%LogDir%\%LogPraefix%_%PackageName% 
08.
 
09.
Set "regkey_x86=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\MICROSOFT\WINDOWS\CURRENTVERSION\UNINSTALL" 
10.
 
11.
for /f %i in ('reg query "%regkey_x86%" /s ^|find "{26A24AE4-039D-4CA4-87B4-2F83216030FF}"') do 
12.
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ß
Mitglied: Skyemugen
17.04.2012 um 16:09 Uhr
Aloha,

ähm ... also a) würde ich es ja mal mit mehr Prozent versuchen, entweder Wodka oder %%i und b) würde ich den Befehl ja nicht in eine neue Zeile setzen aber das sind jetzt auch nur so Gedanken ...

greetz André

P.S.: Wozu lässt du finden, wenn du mit %%i nicht weiterarbeitest?
Bitte warten ..
Mitglied: H41mSh1C0R
17.04.2012 um 16:20 Uhr
hmmmm

hat sich erledigt.

01.
Reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall /v {26A24AE4-039D-4CA4-87B4-2F83216030FF} 1>nul 2>nul 
02.
if errorlevel=0 start /wait MsiExec.exe /qn /x {26A24AE4-039D-4CA4-87B4-2F83216030FF}
Wenn ich nun auf mehrere Versionen prüfen soll, ginge das via Schleife? Array's sind ja schwierig abzubilden(bzw. nicht vorgesehen in Batch) besonders wenn man Parameter zusammen bauen will.

gruß
Bitte warten ..
Mitglied: 106009
17.04.2012 um 16:35 Uhr
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
01.
if [%errorlevel%] equ [0] ....
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ß
Bitte warten ..
Mitglied: Skyemugen
17.04.2012 um 16:35 Uhr
Aloha,

sicher, wenn du statt find dann findstr nimmst, kannst du gerne per ^|findstr "{WERT1} {WERT2} {WERT3}" in deiner urspr. Schleife arbeiten, oder auch andersherum per

for %%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?
Bitte warten ..
Mitglied: H41mSh1C0R
17.04.2012 um 17:42 Uhr
^^ ich schau mir das morgen an, der Kopf ist nach 11h einfach zu, schonmal danke euch beiden ich schau morgen wieder vorbei. =)
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Exchange Server
gelöst Exchange und Dateisystem - Ordner extern archivieren und zusammenführen (10)

Frage von FA-jka zum Thema Exchange Server ...

Netzwerkmanagement
gelöst Icingaweb2 Werte für das NRPE CheckDisk anpassen (8)

Frage von M.Marz zum Thema Netzwerkmanagement ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...