【发布时间】:2013-03-19 12:23:12
【问题描述】:
我是批处理脚本的新手,我正在编写一个批处理脚本来设置环境变量。下面是我使用的批处理脚本。
if 1 == 1 (
setlocal enableextensions enabledelayedexpansion
SET name1=%1_hello
endlocal & SET name=%name1%
echo varaiable %name%
goto :eof
)
但我面临的问题是变量name 未设置,endlocal & SET name=%name1% 中的name1 始终为空或从先前设置的环境变量中获取它。
但是没有if statement 的相同代码可以工作。
setlocal enableextensions enabledelayedexpansion
SET name1=%1_hello
endlocal & SET name=%name1%
echo varaiable %name%
goto :eof
在上面的代码中,name1 变量被设置,name 被显示。有人可以帮我摆脱这个问题。为什么endlocal / set 与 if 语句的行为不同?
【问题讨论】:
标签: windows batch-file command