【发布时间】:2011-01-22 09:49:31
【问题描述】:
好吧,让我试着解释一下我的问题:
我从一行开始,从那里开始 2 个不同的功能
setlocal EnableDelayedExpansion
for %%i in ("C:\*.*") do (
call :function1 "%%~i"
call :function2 "%%~i"
)
goto :eof
在function1中,在某个点我在本地环境中做一个SET:
setlocal EnableDelayedExpansion
...
...
set name1=blabla
endlocal & SET name=%name1%
echo %name%
goto :eof
回声确实返回了我的变量。现在谈谈我的问题。 我退出功能一并转到功能 2(请参阅第一个代码段) 我不能在这里调用变量形式。我在function2中尝试过,我在调用function2之前尝试过,但都没有解决问题。
我的猜测是只为 function1 设置了一个局部变量。我搜索了网络,但我读到“endlocal & SET name=%name1%”这行应该解决了我的问题。
希望我已经解释清楚,感谢所有帮助!
【问题讨论】:
标签: windows variables batch-file local