如何在Windows上调用.bat文件并在一行中设置本地环境variables?

我在Windows上调用一个.bat文件。 .bat文件依赖于一些环境variables的存在。

如何在调用.bat文件的同时设置这些环境variables,使得环境variables对.bat文件是本地的,并且不会作为全局variables传播。

我理想上喜欢这样做在一行…

您正在寻找SETLOCAL / ENDLOCAL 。 这些语句之间分配的变量不会影响脚本的其余部分。

 setlocal set LOCALVAR=XYZ call MyScript.bat endlocal 

如果您喜欢使用&作为分隔符,则可以将这四个语句写成一行:

 setlocal & set LOCALVAR=XYZ & call MyScript.bat & endlocal