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 3) - Jetzt verbinden

17.04.2012 um 16:07 Uhr, 2964 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 ..
Ähnliche Inhalte
Linux Desktop
Unix-Desktop: KDE Plasma 5.10 bringt Ordner zurück auf den Desktop

Link von BassFishFox zum Thema Linux Desktop ...

Exchange Server
gelöst Anmeldung am sekundären Postfach für öffentliche Ordner (2)

Frage von ex-166 zum Thema Exchange Server ...

Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
gelöst NTFS und die Defragmentierung (29)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Windows Server
gelöst Wechsel von Server 2016 GUI auf Core mit minimal server interface (10)

Frage von Fruehling2017 zum Thema Windows Server ...