Adicione estas linhas ao topo do seu script:
@setlocal enableextensions @cd / d "% ~ dp0"
A primeira linha ativa as variáveis ambientais e a segunda linha é uma variável especial que se refere ao diretório atual do script que está sendo lançado.
Aqui está uma boa descrição do usuário wilx nesta resposta:
cd - Este é o comando de alteração de diretório. / d - Esta opção faz com que o cd altere a unidade e o diretório de uma só vez. Sem isso você teria que fazer cd% ~ d0 & cd% ~ p0. % ~ dp0 - Isso pode ser dissecado em três partes: % 0 - Isto representa o parâmetro zeroth do seu script em lote. Ele se expande para o nome do arquivo em lote. % ~ 0 - O ~ lá separa aspas duplas (") ao redor do argumento expandido. % dp0 - O d e p existem modificadores da expansão. O d força a adição de uma letra de unidade e o p adiciona o caminho completo.