was mache ich verkehrt? Ich sitze seit Stunden an meiner Idee und komme ums Verrecken nicht weiter.
Mein Ziel: Java 8 Update 101 auf Windows 7 nur installieren, wenn eine Versionsabfrage nicht den gewünschten Wert ermittelt.
Ist Java installiert, kann ich mit java -version eine Ausgabe analog dieser erzielen:
java -version
java version "1.8.0_101"
Java SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot Client VM (build 25.101-b13, mixed mode)
Ist kein Java installiert, liefert die Abfrage einen Syntax-Fehler (da die Variable/Funktion "Java" nicht registriert ist), was so weit meinem Anliegen aber nicht in die Quere kommt.
Mein nicht funktionierendes Script sieht so aus:
@echo off
java -version findstr ""1.8.0_101"" > NUL
if errorlevel 1 goto install
if errorlevel 0 goto end
:install
REM deinstalliert Java-Versionen ungleich Version 101
WMIC /interactive:off product where 'name like "%%java%%" and (vendor like "%%oracle%%" or vendor like "%%sun%%") and NOT name like "%%Update 101%%"' call uninstall
mkdir "%PROGRAMFILES%\Java"
"C:\jre-8u101-windows-i586.exe" /s
goto end
:end
exit
Ich habe mir schon unendlich viele Bsp. angeschaut aber egal, was ich definiere, es wird immer dumpf das Script von Anfang bis Ende abgearbeitet, ohne die Errorlevel zu berücksichtigen; es ist zum heulen. Die WMIC-Abfrage habe ich aus dem WWW und sie funktioniert - klar, ist ja auch nicht von mir.
Was mache ich falsch?
Danke vorab für jede konstruktive Antwort.
MfG ibicis

Hilfe
Neues Thema
Antworten

Nach oben





