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, 2937 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
Ähnliche Inhalte
Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

SAN, NAS, DAS
gelöst Synolgy 1815+ - Rechte- und Richtlinien-Problem User-Ordner Home (3)

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

Exchange Server
Öffentliche Ordner Exchange 2016 (4)

Frage von HeinrichM zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (29)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

TK-Netze & Geräte
Telefonanlage gesucht (23)

Frage von Xaero1982 zum Thema TK-Netze & Geräte ...

Windows 10
gelöst Welches OS für Firmengeräte? (20)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...