O diretório atual é uma propriedade de um processo. Diferentes processos podem ter diretórios atuais diferentes e um processo não pode modificar o diretório atual de outro processo.
Quando você abre a janela de comando (às vezes erroneamente chamada de janela do DOS), ela inicia cmd.exe . Esse cmd.exe pode executar comandos que você digita no teclado, bem como comandos de um arquivo .bat ou .cmd . Não sabe sobre .sh arquivos.
O script de shell .sh é executado iniciando um shell, um processo diferente e os comandos no arquivo .sh alteram o diretório atual do processo do shell. Não altera o diretório do interpretador de comandos cmd.exe .
O arquivo em lote é executado pelo interpretador de comandos cmd.exe e, portanto, altera o diretório atual do interpretador de comandos. Essa alteração ainda está em vigor após a conclusão do arquivo em lote.