如何正确处理以cmd.exe中的数字开头的环境值。(例如3DSMAX_xxx)

如何正确处理以cmd.exe中的数字开头的环境值。(例如3DSMAX_xxx),cmd,command,environment,Cmd,Command,Environment,我尝试在cmd.exe中使用环境值,如下所示 set MAX_PATH=%3DSMAX_2011x64_PATH% echo %MAX_PATH% set MAX_PATH 但是,看起来%3DSMAX\u 2011x64\u路径%始终被视为DSMAX\u 2011x64\u路径 我找了一天的答案,但是找不到 如何正确处理它?简短的answr是-不要使用以数字开头的变量名称。原因是%n带n数字意味着“程序的参数n” 如果您必须使用此类名称,则 for /f "tokens=1*delims=="

我尝试在
cmd.exe
中使用环境值,如下所示

set MAX_PATH=%3DSMAX_2011x64_PATH%
echo %MAX_PATH%
set MAX_PATH
但是,看起来
%3DSMAX\u 2011x64\u路径%
始终被视为
DSMAX\u 2011x64\u路径

我找了一天的答案,但是找不到


如何正确处理它?

简短的answr是-不要使用以数字开头的变量名称。原因是
%n
n
数字意味着“程序的参数
n

如果您必须使用此类名称,则

for /f "tokens=1*delims==" %%v in ('set') do if /i "%%v"=="3name" set "newthing=%%w"

这将设置值:

set MAX_PATH=3DSMAX_2011x64_PATH
echo %MAX_PATH%
set MAX_PATH