我从注册表中获取一个包含以下数据字符串的值:
%USERPROFILE%\Desktop
cd %USERPROFILE%\Desktop
它会正确执行 cd C:\Users\Name\Desktop
set DESKTOP = %%USERPROFILE%%\Desktop
所以如果我这样做
cd %DESKTOP%
(cd %%USERPROFILE%%\Desktop
) 它就会执行 cd %USERPROFILE%\Desktop
The system cannot find the path specified.
如何解析/评估
%%USERPROFILE%%\Desktop
字符串数据? (所以 %%USERPROFILE%%
变成 C:\Users\Name
)
这也是我从注册表获取数据的方式:
for /f "tokens=2*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do set DESKTOP=%%b
您需要
CALL
命令来第二次计算表达式。
echo %desktop%
call echo %desktop%
CALL
还可以与其他命令(如 SET
)一起使用,但不能在 IF
或 FOR
前面