Ik heb in dezelfde map een .bat
en een .exe
bestand.
Ik kon het bestand .exe
niet aanroepen vanuit het bestand .bat
tenzij ik het volledige absolute pad ernaar toe had gezet.
Is er een manier om het pad niet op te geven?
Antwoord 1, autoriteit 100%
Probeer de .exe
aan te roepen met %~dp0
, zoals dit: %~dp0MyProgram.exe
.
%0
bevat het volledige pad naar het aangeroepen bestand .bat
.
~dp
zegt om de drive en het pad op te halen, inclusief de achterliggende \
.
Antwoord 2, autoriteit 17%
Ik heb dit opgelost door de werkdirectory te wijzigen met pushdop de start van het script en het herstellen is aan het einde van het script met behulp van popd. Op deze manier kun je er altijd van uitgaan dat de werkdirectory hetzelfde is als de locatie van het bat-bestand.
pushd %~dp0
ProgramInSameFolderAsBat.exe
popd