Ho nella stessa cartella un file .bat
e un file .exe
. Non è stato possibile chiamare il file .exe
da .bat
a meno che non abbia inserito il percorso assoluto completo. C'è un modo per non specificare il percorso?Come eseguire programmi nella stessa directory del file batch di Windows?
risposta
Provare a chiamare il .exe
con %~dp0
, ad esempio: %~dp0MyProgram.exe
.
%0
contiene il percorso completo del file chiamato .bat
.
~dp
dice di ottenere l'unità e il percorso, compreso il trailing \
.
sembra strano? Non ho lavorato su Windows per qualche tempo, ma
Avete provato che conduce con un ./
./program.exe
in realtà dovrebbe essere alcuna differenza? forse il pipone sta eseguendo dal contesto di C: \ Windows o il tuo gruppo ha fatto un cd su un altro dir ad un certo punto?
Intendevi. \ (Ovvero, barra rovesciata). –
Penso che quando eseguo il batch viene eseguito da un'altra directory. –
Forse la mia domanda è "come fare doppio clic su un file batch e farlo eseguire nella stessa directory di quello che è?" –
Ho risolto questo problema modificando la directory di lavoro utilizzando pushd all'inizio dello script e il ripristino è alla fine dello script utilizzando popd. In questo modo puoi sempre presumere che la directory di lavoro sia la stessa del file bat.
pushd %~dp0
ProgramInSameFolderAsBat.exe
popd
- 1. File batch di Windows: come eseguire il loop dei file in una directory?
- 2. Installazione del servizio Windows con file batch?
- 3. Windows Batch si sposta nella directory che potrebbe non esistere
- 4. Come eseguire un comando batch di Windows in modo ricorsivo?
- 5. File batch di Windows per eseguire il file PHP
- 6. Come eseguire programmi ruby su Windows 7?
- 7. Come eseguire un file batch da java?
- 8. Eseguire un file batch sull'arresto di Windows 7 prima di chiudere i programmi (preferibilmente premere il pulsante di accensione)
- 9. Come si legge da un file nella stessa directory?
- 10. File batch di Windows - Concatena tutti i file nelle sottodirectory
- 11. equivalente in file batch di Windows
- 12. Avvio di Windows - come eseguire un programma come amministratore da un file batch
- 13. Ho bisogno della directory Perl bin nel PATH per eseguire programmi perl (su Windows)?
- 14. Come ottenere la cartella principale del batch di Windows
- 15. rubino carico di configurazione del file (YAML) nella stessa directory come sorgente
- 16. Come eseguire programmi in python2 e python3
- 17. Confronto tempi file batch di Windows
- 18. Eseguire un file batch in una nuova finestra dal batch?
- 19. Come verificare se un percorso è un file o una directory nel file batch di Windows?
- 20. Apertura del file nella stessa directory del codice in esecuzione in Clojure
- 21. Come elencare tutte le directory vuote usando il file batch di Windows?
- 22. Incorpora VBScript all'interno del file batch di Windows
- 23. Come modificare la directory quindi eseguire il file batch di comando?
- 24. File batch di Windows - pipe to FIND
- 25. File batch di Windows: PID dell'ultimo processo?
- 26. Come posso ottenere che gulp-typescript venga stampato nella stessa directory del file sorgente?
- 27. Come impostare la directory di lavoro di un comando in un file batch di Windows?
- 28. Windows: stabilisce l'associazione file al file batch
- 29. File batch di Windows che esegue il looping delle directory per elaborare i file?
- 30. Come eseguire il file batch tramite PHP?
+1 voto appena trovato questo link su google search - http://weblogs.asp.net/whaggard/archive/2005/01/28/get-directory-path-of-an-executing-batch-file. aspx – house9
Buona spiegazione, grazie! – enderland
La risposta di Patrick Cuff sopra funziona, ma fallisce se parte del percorso della directory ha spazi nel suo nome. Per ovviare a ciò è necessario inserire virgolette doppie attorno alla chiamata .exe. "% ~ dp0MyProgram.exe" –