
In einer CMD-Eingabeaufforderung funktioniert alles einwandfrei, aber ich muss zum Ausführen eine Bat-Datei einfügen, kann aber die Ausgabe der Reg Query-Eingabeaufforderung nicht abrufen und dann von dort aus eine weitere Abfrage ausführen.
Da ich nach einer App-ID suche und diese sich ändern kann, muss ich den Rest des Schlüssels finden. Folgendes in einer Eingabeaufforderung bringt mir das, was ich brauche:
REG Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /F "APP_NAME" /E /S
Gibt mir den benötigten Schlüssel wie:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{398E49A0-84CA-43B5-A926-42EF68619E91}
Von dort aus kann ich einen weiteren Befehl ausführen, um den Deinstallationsbefehl zu erhalten:
REG Query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{398E49A0-84CA-43B5-A926-42EF68619E91} /V "UninstallString"
Ich habe versucht, was ich auf der Site gesehen habe, for \f token....
aber es gibt mir nicht nur die erste Zeichenfolge, auch nicht mit Überspringen. Ich konnte es auch nicht irgendwie zuweisen. Ich brauche so etwas wie:
set Full_Key = reg query...
set Uninstall_CMD = Full_Key "/V Uninstallstring"
Ich weiß, dass es nur einen Eintrag geben wird, sobald er gefunden wird.
Antwort1
Nach viel Hausaufgaben und dem Durchforsten meiner alten Bücher habe ich es hinbekommen. Ich poste den Code hier für den Fall, dass jemand dieselbe App wie ich in einem Netzwerk deinstallieren muss oder einen Ausgangspunkt braucht.
Das Hauptproblem, das ich lösen musste, bestand darin, die App-ID zu finden und dann die Deinstallationszeichenfolge aus der Registrierung abzurufen, da keine typische Deinstallationsdatei vorhanden ist.
Es ist vielleicht nicht der schönste Code, aber er funktioniert.
rem First Check To See If The App Is Even Installed, In My Case, It May Not Be A Dell Box, Or We Already Uninstalled
REG Query %Computer%HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /F "Dell SupportAssist" /E /D /S > NUL
Rem If We have Error, It Is Not There, Bail Out
if errorlevel 1 exit
rem The Key Is Found, So It Must Be Installed, So Get The Full Key, By Searching For The App Name
FOR /F "tokens=*" %%A IN ('REG Query %Computer%HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall /F "Dell SupportAssist" /E /D /S 2^>NUL ^| FINDSTR /R /C:"HKEY_"') DO (
rem Now We Have The Full Key From Above, Grab The Uninstall Command And Run It
FOR /F "tokens=2*" %%B IN ('REG Query "%Computer%%%~A" /F UninstallString /V /E ^| FIND /I " UninstallString "') DO %%C% /qn
)