-
Por motivos de compatibilidade com o MS-DOS e
COMMAND.COM
, o shellcmd.exe
do Windows mantém uma lista de "diretórios atuais", um para cada letra de unidade e o comandocd
o diretório, mas não a unidade atual.Use
cd /d %var_mypath%
para alterar também a unidade atual. -
Não coloque aspas no valor da variável. Se você fizer isso, então
%VAR_MYPATH%\someSubfolder\theBatchFile.bat
expandirá para"d:\someFolder"\someSubfolder\theBatchFile.bat
, o que pode confundir as coisas. (Novamente, para compatibilidade,cmd.exe
herda muitas peculiaridades deCOMMAND.COM
, incluindo um analisador de texto citado estranho.) -
Verifique se a variável realmente existe na sua janela
cmd.exe
atual, executandoset var_mypath
ouecho %var_mypath%
. (Cada processo herda o ambiente de seu pai.)