morus2000
Goto Top

Batch Datei erstellen nach einem beliebigen Programmpfad

Hallo zusammen,

durch ein java Update funktioniert eine batch Datei nicht mehr zur Zufriedenheit Originalcod:

"
C:
cd\Program Files (x86)\f4
path = "C:\Program Files (x86)\Java\jre7\bin";.
start javaw -classpath jdom.jar; gui.GuiMain %1 %2
"

Nun würde ich gern einen variablen Programpfad einstellen

"
C:
cd\Program Files (x86)\f4
path = "C:\Program Files (x86)\Java\jre1.8.0_31\bin";.
start javaw -classpath jdom.jar; gui.GuiMain %1 %2
"

Demnach müsste eine Wildcard für jre1.8.0_31 gesetzt werden, damit auch nach einem Update die javaw gefunden wird. Ist die prinzipiell möglich?

Viele Grüße und Dank,
Morus

Content-ID: 266464

Url: https://administrator.de/contentid/266464

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

Meierjo
Lösung Meierjo 16.03.2015, aktualisiert am 18.03.2015 um 16:41:39 Uhr
Goto Top
Hallo

Hatte mal dasselbe Problem mit verschiedenen Office Versionen, die auf den Clients installiert werden.
Habe dazu einfach eine Pfad-Variabel angelegt
5d090994073cbdf15bce797196c6e57d

Den Pfad zur installierten Java Version kannst du pro Client zb aus der Registry auslesen
HKLM\Software\Javasoft
HKLM\Software\WOW6432\Javasoft

Edit:
Unter Windows 7 (Java 8) werden doch auch Verknüpfungen zur aktuellen Java-Version angelegt:
c:\ProgramData\Oracle\Java\javapath\java.exe
c:\ProgramData\Oracle\Java\javapath\javaw.exe
c:\ProgramData\Oracle\Java\javapath\javaws.exe

Kannst du diese nicht benützen?

Gruss Urs
Morus2000
Morus2000 16.03.2015 um 14:03:16 Uhr
Goto Top
Danke für die Hilfe, leider kann ich nicht genau nachvollziehen, welchen Pfad ich nun angeben kann. Die Software hat leider keine Registry einträge, den für java habe ich gefunden. Wie kann ich diesen nun beispielsweise in die Batch implementieren?

Grüße,
Morus
Morus2000
Morus2000 16.03.2015 um 14:11:07 Uhr
Goto Top
"
C:
cd\Program Files (x86)\f4
path = "C:\ProgramData\Oracle\Java\javapath\";.
start javaw -classpath jdom.jar; gui.GuiMain %1 %2
"
hat leider nicht funktioniert
Meierjo
Lösung Meierjo 16.03.2015, aktualisiert am 18.03.2015 um 16:41:38 Uhr
Goto Top
Hallo

Was passiert denn, wenn du auf dem Client einfach mal einen Dos-Prompt öffnest
Start -->ausführen --> cmd [enter]
Java [enter]

Was kriegst du hier für eine Ausgabe?
Gruss
Morus2000
Morus2000 16.03.2015 um 14:32:55 Uhr
Goto Top
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Administrator.PC-POOL-25>java
Verwendung: java [-options] class [args...]
(zur Ausführung einer Klasse)
oder java [-options] -jar jarfile [args...]
(zur Ausführung einer JAR-Datei)
wobei options Folgendes umfasst:
-d32 Verwendet ein 32-Bit-Datenmodell, sofern verfügbar
-d64 Verwendet ein 64-Bit-Datenmodell, sofern verfügbar
-client zur Auswahl der "client" VM
-server zur Auswahl der "server" VM
Die Standard-VM ist client.

-cp <Klassensuchpfad von Verzeichnissen und ZIP-/JAR-Dateien>
-classpath <Klassensuchpfad von Verzeichnissen und ZIP-/JAR-Dateien>
Eine durch ; getrennte Liste mit Verzeichnissen, JAR-Archiven
und ZIP-Archiven zur Suche nach Klassendateien.
-D<name>=<value>
Legt eine Systemeigenschaft fest
-verbose:[class|gc|jni]
Aktiviert die Verbose-Ausgabe
-version Druckt Produktversion und beendet das Programm
-version:<value>
Erfordert die angegebene Version zur Ausführung
-showversion Druckt Produktversion und fährt fort
-jre-restrict-search | -no-jre-restrict-search
Bezieht private JREs des Benutzers in Versionssuche ein bzw. s
chließt sie aus
-? -help Druckt diese Hilfemeldung
-X Druckt Hilfe zu Nicht-Standardoptionen
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
Aktiviert Assertions mit angegebener Granularität
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
Deaktiviert Assertions mit angegebener Granularität
-esa | -enablesystemassertions
Aktiviert Systemassertionen
-dsa | -disablesystemassertions
Deaktiviert Systemassertionen
-agentlib:<libname>[=<options>]
Lädt native Agent Library <libname>, z.B. -agentlib:hprof
siehe auch -agentlib:jdwp=help und -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
Lädt native Agent Library nach vollem Pfadnamen
-javaagent:<jarpath>[=<options>]
Lädt Java-Programmiersprachen-Agent, siehe java.lang.instrumen
t
-splash:<imagepath>
Zeigt Startbildschirm mit angegebenem Bild
Weitere Einzelheiten finden Sie unter http://www.oracle.com/technetwork/java/jav
ase/documentation/index.html

C:\Users\Administrator.PC-POOL-25>
Meierjo
Lösung Meierjo 16.03.2015, aktualisiert am 18.03.2015 um 16:41:35 Uhr
Goto Top
Hallo

Ok, dann wird der Pfad zur Java und zur javaw gefunden. Das Problem liegt also woanders.
Kannst du denn in deinem Batch nach
start javaw -classpath jdom.jar; gui.GuiMain %1 %2
mal eine Pause setzen, um zu sehen, ob und was für ein Fehler ausgegeben wird?

Ist denn Java 8 überhaupt für diese Anwendung freigegeben?

Gruss
Morus2000
Morus2000 18.03.2015 um 16:41:33 Uhr
Goto Top
Meine Lösung war nun den kompletten pfad zu löschen, dauert zwar ein bischen mit dem öffnen, ist aber akzeptabel.