Prüfung ob Windows EXE Datei vorhanden ist

Hallo,

eine an Windows Rechnern vorhandene Exe-Datei soll auf Vorhandensein gegrüft werden.
Die Datei ist in der Path-Variable abgespeichert. Das heisst ein Aufruf von jedem Verzeichnis aus sollte funktionieren.

Wie kann ich denn das vorhandensein der Datei prüfen - ich weiss aber nicht den Speicherort auf den verschiedenen Rechnern.

Danke GGK

Du kannst dir die Path-Variable wie jeder andere Systemvariable holen, diese auf die einzelnen Pfade aufspalten und dann solange Pfad + Dateiname auf Existenz prüfen bis du sie gefunden hast oder dir die Pfade ausgehen. In Java geht’s mit der File-File klasse. Die kennt eine exists Methode.

Ok danke…daran dachte ich auch.
Ich dachte, es ginge auch einfacher. Denn ein Programm in der Path-Variable ist ja von überall ausführbar…aber Java sucht wohl in der File-file Klasse (file.isExecutable()) immer im aktuellen Verzeichnis.

LG, GGK

Nein, ein File-Objekt hat immer einen absoluten Pfad, auf den dann die Methoden wie exists() oder isExecutable() gecallt werden.
Das was du meinst hängt mit dem Konstruktor und dem aktuellen Arbeitsverzeichnis zusammen, das Java bei

new File("programm.exe");
//...```
im akutellen Arbeitsverzeichnis sucht. Dies kann allerdings auch abweichen weshalb man entweder immer absolute Pfad angeben sollte oder sich mit getResource() immer relative zur aktuellen Instanz bewegt.

OK…danke dir!

GGK