在if语句中的Set Variable中扩展%userprofile%。批量

时间:2017-11-17 21:41:32

标签: batch-file variables if-statement set expansion

我有类似以下内容......

set /p dir=Specify Path:
 if exist %dir% (
 echo ok
 ) else(
 echo not ok
)

如果用户输入路径或变量,例如%userprofile%

当使用%dir%时,%userprofile%未在其中展开。

例如

set dir=%userprofile%
echo %dir% :: this does not expand
call echo %dir% :: this does expand
cd %dir% :: does not expand
call cd %dir% :: expands

但是如何在if语句中扩展路径。

一直在讨论这个问题,我并不是真的了解DelayedExpansion。

感谢。

1 个答案:

答案 0 :(得分:2)

如果用户输入环境变量作为路径,则可以使用CALL命令轻松扩展该变量。所以你的代码看起来像这样。

{{1}}