Quando você executa o arquivo em lote a partir da linha de comando, o diretório atual é o local do arquivo em lote.
Quando você arrasta e solta um arquivo no arquivo de lote, o diretório atual é o caminho do arquivo de arrastar e soltar.
Para demonstrar isso, experimente com o seguinte arquivo em lotes:
@echo off
cd
pause