So erstellen Sie eine batch-Datei, zum ausführen einer jar-Datei, die in jeder Lage des Systems

Habe ich eine MyFile.jar Datei. Ich brauche eine batch-Datei, sucht die jar-Datei und löst es.

Ich die folgende Lösung gefunden. Aber für diese batch-Datei und die jar-Datei muss im gleichen Ordner sein.

java -jar %~dp0MyFile.jar %*

Wir nicht wissen, wo der client Stelle jar-Datei in Ihrem system. Aber Sie werden batch-Datei im Autostart-Ordner.

Edit: ich habe es geschafft, dies zu schreiben batch-Datei für jetzt.

`ECHO
 ECHO Locating the Jar

 IF EXIST java -jar MyFile.jar  ELSE (GOTO 

 SearchJar)

:SearchJar
SET the_path=D: & CD\
DIR /S/B File.jar > installer_location.txt
SET /P the_path=< installer_location.txt
if defined the_path goto :FoundIt

E: & CD\
DIR /S/B MyFile.jar > installer_location.txt
SET /P the_path=< installer_location.txt
if defined the_path goto :FoundIt

C: & CD\
DIR /S/B MyFile.jar > installer_location.txt
SET /P the_path=< installer_location.txt
if defined the_path goto :FoundIt

G: & CD\
DIR /S/B MyFile.jar > installer_location.txt
SET /P the_path=< installer_location.txt
if defined the_path goto :FoundIt

H: & CD\
DIR /S/B MyFile.jar > installer_location.txt
SET /P the_path=< installer_location.txt
if defined the_path goto :FoundIt

I: & CD\
DIR /S/B MyFile.jar > installer_location.txt
SET /P the_path=< installer_location.txt
if defined the_path goto :FoundIt
ECHO Jar not found.

:FoundIt
ECHO Jar file found at %the_path%

CALL java -jar %the_path%`

Dieser arbeitet jetzt in meinem system. Aber ich bin mir nicht sicher, ob es eine einfachere Möglichkeit, um zu überprüfen, alle Laufwerke auf einmal.

  • Dies ist keine vernünftige Anfrage. Wenn Sie sind dass der client eine batch-Datei in Ihren Autostart-Ordner, warum nicht von Ihnen verlangen, um legen Sie die jar-Datei in Ihrem Ordner "startup" statt? Mit einer batch-Datei, müssen Sie wissen, wo die jar-Datei in der Datei-system, ob der durch eine Umgebungsvariable, oder von einem Datei-system-Suche (sehr langsam), oder indem es in einem bestimmten Ort. Die beste Praxis ist die Verwendung von Installations-software wie InstallShield.
  • Wenn du die jar-Datei wo die batch-Datei ist der code, den Sie geschrieben wird funktionieren, weil %~dp0 wird bewerten, in welchem Verzeichnis die batch-Datei liegt. Sie sollten setzen Sie es in doppelte Anführungszeichen, wenn: " %~dp0MyFile.jar" im Fall das Verzeichnis Leerzeichen enthält.
  • Können wir nicht eine batch-Datei, sucht die jar-Datei im system und läuft es? wie ich bereits in meiner Frage, java-jar %~dp0MyFile.jar %* Recherchen für seine(batch-Datei) Lage und ändern Sie den Pfad zu der batch-Datei und führt die jar-Datei. Gibt es eine Möglichkeit, die wir machen können die batch-Datei Suche nach Glas jetzt?
  • Dein code ist nicht ändern "den Pfad zur batch-Datei Lage". Es werden lediglich Anrufe java.exe mit einem vollständigen Pfad zu der jar-Datei.
  • Okay,habe es. Aber ich din nicht die Antwort, die ich Suche. Gibt es eine Möglichkeit, batch-Datei sucht nach jar-Datei und ruft java.exe mit einem vollständigen Pfad zu der jar-Datei?
  • Sie sagen, Sie wissen nicht, wo der client legen Sie die jar-Datei. Ist der client wissen, wo der client legen Sie die jar-Datei? Ich schlage vor, das hinzufügen einer gui-file-chooser zu Ihrem Skript und der Benutzer aufgefordert, den Speicherort der jar-Datei. Sobald Sie es haben, speichern Sie den Ort mit der Registrierung, so können Sie abrufen auf den nachfolgenden ausgeführt wird. Wenn der reg-Schlüssel nicht vorhanden ist oder wenn der Wert weist auf eine fehlerhafte Lage, file-chooser wieder. Damit wird ein besseres Erlebnis für den Benutzer, vor allem, wenn der pc mehrere Festplatten und stellt das Glas auf d: oder e:. Eine Suche dauert zu lange.

InformationsquelleAutor Jenny | 2015-01-08
Schreibe einen Kommentar