Presumindo que o Windows cmd.exe : "%~dp0\otherfile"
Aqui %0 faz referência ao arquivo em lote, ~ faz com que as aspas sejam removidas do valor, dp significa "letra e caminho do disco".
Veja for /? para obter uma lista completa de expansões. (Eles infelizmente só se aplicam a argumentos de linha de comando numerados e para variáveis em uma letra. Para usar essas expansões com variáveis de ambiente como %myfile% , você terá que passá-las para uma sub-rotina com call :label .)