Voglio ottenere il percorso di un eseguibile lanciato in Java, se l'eseguibile è conservato in una posizione che fa parte della variabile di ambiente di Windows PATH
.Come ottenere il percorso completo di un eseguibile in Java, se avviato dalla variabile di ambiente Windows PATH?
Supponiamo, ad esempio, di avviare NOTEPAD
in Windows utilizzando lo snippet di codice seguente. Qui notepad.exe
è conservato nella cartella Windows
che fa parte della variabile di ambiente di Windows PATH
. Quindi non c'è bisogno di dare il percorso completo dell'eseguibile qui.
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("notepad.exe");
Quindi la mia domanda è, come ottenere la posizione assoluta degli eseguibili/file in programmi Java (in questo caso, se notepad.exe
è tenuta sotto c:\windows
, dentro programma Java che ho bisogno di ottenere il percorso c:\windows
), se vengono lanciati in questo modo dalle posizioni PATH
?
Non v'è alcun modo incorporato per fare questo. È necessario selezionare manualmente gli elementi 'PATH' e cercare' notepad.exe' in ciascuno. –
'system.env (" PATH ")' forse (non ne ho idea). –
Questo è fragile. Dipenderà dalla configurazione delle macchine su cui viene eseguito. – duffymo