Você pode usar %CD%\
, que significa Diretório atual , em vez de %~dp0
.
Eu não notei nenhuma diferença entre esses dois.
Em uma nota secundária, se você usou o comando start
, a prática recomendada é adicionar um ""
extra antes do início do programa e incluir todos os parâmetros em uma citação e escapar dos parâmetros citados quando necessário. Exemplo:
start /wait "" "%CD%\MyProgram.exe /link \"MyOtherDLL.dll\""