Aktuelles Verzeichnis - CMD/Kommandozeilenproblem

Status
Nicht offen für weitere Antworten.

Sirup

Mitglied
Hallo,

erstmal hoffe ich, dass die Lösung zu diesem Problem noch nicht im Forum erklärt wurde.

Also:
Ich habe ein Kommandozeilen Tool für Windows geschrieben. Dieses Tool erstellt ein Property File um Einstellungen etc. zu speichern und greift auch auf dieses Property File zu.

Ich möchte, dass das dieses Property File immer im selben Verzeichnis wie meine tool.exe (habe die jar in eine exe konvertiert, um sie bequem auf der Kommandozeile aus zuführen, habe sie auch die Umgebungsvariabel Path von Windows eingetragen)

Nun habe ich, dass Problem, dass ich nicht herausfinden kann, WO meine tool.exe liegt. Wie kann ich auf das aktuelle Verzeichnis zugreifen in dem die .exe/jar liegt?

So funktioniert das leider nicht, weil wenn ich von der Kommandozeile starte und jetzt z.b im Verzeichnis "C:\Dokumente und Einstellunge\Userx" bin, er mir als aktuelles Verzeichnis natürlich dieses und nicht das Verzeichnis von der tool.exe liefert.

Code:
        String curDir = System.getProperty("user.dir");
        File file = new File("" + curDir + "\\prop.properties");

Hat jemand eine Idee?

Vielen Dank, bereits im vorraus!
 

CK

Aktives Mitglied
Wenn du deine exe nur als Starter für den jar benutzt, würde ich dir empfehlen die Dateien als Resource aus dem Jar zu laden.
 

The_S

Top Contributor
properties sind doch dazu da verändert zu werden ???:L . Wenn die im Jar liegen, können sie nicht mehr verändert werden.
 

Sirup

Mitglied
Also um das richitg zu stellen.

Ich benutze keine Exe um die jar zu starten, sondern meine jar wurde per "launch4j" in eine exe verwandelt. ich habe somit keine jar mehr.

im meinen verzeichnis liegt jetzt sozusagen:
tool.exe
prop.properties

und dieses properties file wird natürlich neu erstellt wenn sei gelöscht wurde, oder natürlich bei einem aufruf per cmd, versucht auszulesen. dazu bräuchte ich natürlich aber den pfad von "tool.exe".

ich hoffe ich konnte mein problem verdeutlichen.

der link von Hobbit: der poster dort hat anscheinend ein ähnliches problem, konnte aber keine lösung dort eruieren, da er von eine jar ausgeht.

String dir = new File("").getAbsolutePath(); funktioniert ebenfalls nicht, da wenn ich das tool.exe von der Kommandozeile ausführe (z.b. C:\test, und mein tool.exe liegt in C:\tool), String dir = C:\test und nicht C:\tool ist, was mir somit nicht weiterhilft, da es das selbe Ergebnis wie user.dir liefert. Das Problem kommt daher das das new File im aktuellen Arbeitsverzeichnis erstellt wird - und genau das brauche ich nicht.

danke erstmal für die antworten.
 

FArt

Top Contributor
Ich nutze launch4j nicht (Schnick-Schnack, völlig unnötig), aber wenn ich ein ausführbares JAR habe, definiere ich in der Manifestdatei den Klassenpfad (relativ zum JAR). Wenn die Properties also entsprechend rumliegen, dann kann sie der ClassLoader auch aufgreifen.

Wenn Klassenpfade bei einer Konvertierung nicht berücksichtigt würden (werden), dann spricht das eindeutig gegen den Einsatz von dem Krempel.
 

Sirup

Mitglied
werde ich probieren - danke.

das problem wieso ich launch4j bzw. eine exe. brauche ist, weil das tool, schnell und ohne viel tippen von der cmd ausführbar sein muss.
das kann eben ein jar nicht erfüllen.
 

FArt

Top Contributor
Sirup hat gesagt.:
werde ich probieren - danke.

das problem wieso ich launch4j bzw. eine exe. brauche ist, weil das tool, schnell und ohne viel tippen von der cmd ausführbar sein muss.
das kann eben ein jar nicht erfüllen.
Wird immer wieder behauptet, stimmt so aber nicht. Aber die Diskussionen gibt es hier im Forum schon zur Genüge.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Drucken ändert aktuelles Verzeichnis Allgemeine Java-Themen 2
reibi Aktuelles Verzeichnis in den Klassenpfad nehmen Allgemeine Java-Themen 9
W Aktuelles Verzeichnis rausfinden Allgemeine Java-Themen 13
G aktuelles Verzeichnis Allgemeine Java-Themen 2
S Programm starten mit Runtime aktuelles Verzeichnis wechseln Allgemeine Java-Themen 7
T Aktuelles Datum auslesen Allgemeine Java-Themen 2
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
Q Aktuelles Verzeichniss herausfinden. Allgemeine Java-Themen 2
C Aktuelles Datum auslesen Allgemeine Java-Themen 2
H Aktuelles Datum Allgemeine Java-Themen 7
S Verzeichnis schreibzugriffe erlaubt unabhängig von ACL und Posix Allgemeine Java-Themen 11
T Geeignetes Verzeichnis Allgemeine Java-Themen 5
P Wofür ist das Verzeichnis $HOME/.oracle_jre_usage? Allgemeine Java-Themen 3
M Dateien aus einem Verzeichnis auf einem Server auflisten Allgemeine Java-Themen 5
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
C Verzeichnis ins JMenu einlesen Allgemeine Java-Themen 2
A Class Datei aus Verzeichnis über URLClassLoader laden Allgemeine Java-Themen 2
C Umgebungsvariable Java-Datei in anderem Verzeichnis ausführen Allgemeine Java-Themen 2
K [Refactoring] ClassLoader Verzeichnis durchsuchen lassen Allgemeine Java-Themen 7
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
R Änderungen in einem Verzeichnis beobachten - Windows Allgemeine Java-Themen 3
S Aus executable jar Verzeichnis erstellen Allgemeine Java-Themen 8
reibi Leeres Verzeichnis in ein Zipfile einfügen Allgemeine Java-Themen 12
reibi Schreibrechte auf ein Verzeichnis Allgemeine Java-Themen 3
G Log4J Verzeichnis der Log-Datei konfigurieren Allgemeine Java-Themen 8
T Eclipse Dateien einzeln aus einem Verzeichnis laden! Allgemeine Java-Themen 6
B ObjectOutputStream verzeichnis wählen Allgemeine Java-Themen 8
Benji0815 Verzeichnis wie im Windows Explorer in einem JTree anzeigen Allgemeine Java-Themen 6
L Applet Verzeichnis lesen Allgemeine Java-Themen 3
B Verzeichnis durchsuchen geschwindigkeit optimieren Allgemeine Java-Themen 6
B in welchem verzeichnis liegen alle installierten klassen? Allgemeine Java-Themen 6
G Klassen aus Verzeichnis laden Allgemeine Java-Themen 13
G Zwischen Datei und Verzeichnis unterscheiden. Allgemeine Java-Themen 11
C Velocity liest template-Dateien nicht aus einem Verzeichnis Allgemeine Java-Themen 3
heart_disease Verzeichnis-Probleme mit ZIP Allgemeine Java-Themen 4
M Verzeichnis durchlaufen und Dateien umbennen Allgemeine Java-Themen 2
P Verzeichnis in JAR-Datei durchgehen Allgemeine Java-Themen 2
G Dateien und Verzeichnisse in einem Verzeichnis zählen Allgemeine Java-Themen 9
W Verzeichnis für Benutzerfiles Allgemeine Java-Themen 7
S Ist File ein root-Verzeichnis? Allgemeine Java-Themen 2
J Herangehensweise: FTP-Transfer von Verzeichnis Allgemeine Java-Themen 8
G Java Klasse in einem anderen Verzeichnis aufrufen Allgemeine Java-Themen 3
H mit javac Verzeichnis kompilieren Allgemeine Java-Themen 2
E Existierendes Verzeichnis nicht gefunden Allgemeine Java-Themen 4
M Verzeichnis auslesen - Fehler in isDirectory()? Allgemeine Java-Themen 4
F Verzeichnis, in dem sich die ausführende jar Datei befindet Allgemeine Java-Themen 9
K Verzeichnis rekursiv aus JAR-Datei extrahieren Allgemeine Java-Themen 6
O Ein Verzeichnis aus der Root ablesen/Dateitypen registrieren Allgemeine Java-Themen 5
P Verzeichnis auwählen Allgemeine Java-Themen 2
S Starten einer Anwendung von einem anderen Verzeichnis Allgemeine Java-Themen 3
P Mit getResource() ein ganzes Verzeichnis laden Allgemeine Java-Themen 5
T Verzeichnis der Klasse Allgemeine Java-Themen 7
J Verzeichnis aus meinem JAR auslesen und abspeichern. Allgemeine Java-Themen 2
G Verzeichnis löschen? Allgemeine Java-Themen 3
S Probleme mit dem Compilieren von Dateien in Verzeichnis Allgemeine Java-Themen 4
G Dateien zählen im Verzeichnis Allgemeine Java-Themen 11
A Verzeichnis auflisten - auch innerhalb eines Jars Allgemeine Java-Themen 6
G Verzeichnis überwachen Allgemeine Java-Themen 13
S Temporäres Verzeichnis anlegen? Allgemeine Java-Themen 4
G Java Runtime Verzeichnis ermitteln Allgemeine Java-Themen 3
S dringend-verzeichnis von festplatte einlesen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
M Verzeichnis verschieben? Allgemeine Java-Themen 2
G Bestimmte Dateien aus Verzeichnis löschen Allgemeine Java-Themen 5

Ähnliche Java Themen


Oben