-1
我想知道如何解决这个问题:设置取消设置变量,范围CMD脚本的Windows,例程
rem declaring variable
set "vara="
echo vara:%vara% bef
call :myroutine
echo vara:%vara% aft
:routine
rem ...
rem assing value to variable vara
set "vara=34"
echo vara was assigned...
rem ....
echo vara:%vara%
exit /b
现在我有这个以后:
vara: bef
vara was assigned
vara:34
vara: aft
我需要日常的使用后的价值,像这样...
vara: bef
vara was assigned
vara:34
vara:34 aft
翻:后 如何 去做吧?
有没有区别使用goto:EOF exit/b? 。 。我使用setlocal有什么优势? – Anita 2014-11-21 18:56:40
对于这个脚本,'goto:EOF'和'exit/b'没有区别。两者之间唯一真正的区别是'exit/b'可以让你根据需要设置'%ERRORLEVEL%'为非零值。请参阅[本页](http://www.robvanderwoude.com/exit.php)了解更多信息。使用'setlocal'可以防止您的脚本使用与脚本相关的变量来取消操作环境。如果没有'setlocal','%vara%'将在脚本退出后保持定义状态 - 或者无论如何不会使用'set“vara =”'行。这通常是不受欢迎的,除非有意进行。 – rojo 2014-11-21 19:57:39