EMP*_*EMP 5 windows scripting path batch-file
我有一个Windows批处理脚本问题,我正在抨击我的头(没有双关语意).有问题的脚本如下所示:
if defined _OLD_VIRTUAL_PATH (
set PATH=%_OLD_VIRTUAL_PATH%
)
Run Code Online (Sandbox Code Playgroud)
当我运行并_OLD_VIRTUAL_PATH设置时,我得到:
\Microsoft was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)
_OLD_VIRTUAL_PATH是一个最初设置的变量,PATH它包含空格 - 我很确定这是问题所在.但是解决方案是什么?如果我将它括在引号中,它会成功运行,但我不认为PATH变量的整个值应该在引号中.
这里你的问题不是空格,而是一个右括号.您可能正在运行64位系统,其中32位应用程序的Program Files目录是Program Files (x86).在批处理文件中的括号内的块中,右括号结束该块,因此该行的其余部分会导致语法错误.
您有两种方法可以解决此问题:
1)将完整的set参数放在引号中.这导致关闭的paren不被识别为块结束:
if defined _OLD_VIRTUAL_PATH (
set "PATH=%_OLD_VIRTUAL_PATH%"
)
Run Code Online (Sandbox Code Playgroud)
2)不要使用块:
if defined _OLD_VIRTUAL_PATH set PATH=%_OLD_VIRTUAL_PATH%
Run Code Online (Sandbox Code Playgroud)