【问题标题】:How to call a .bat file and set local environment variables in a single line on Windows?如何在 Windows 上单行调用 .bat 文件并设置本地环境变量?
【发布时间】:2013-12-13 12:35:46
【问题描述】:

我在 Windows 上调用 .bat 文件。 .bat 文件依赖于某些环境变量的存在。

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

理想情况下,我希望在一行中做到这一点...

【问题讨论】:

  • 如果它们真的是特定于文件的,为什么不在文件中指定它们呢? - 另一种方式是将参数传递给脚本。
  • 这个文件已经被写入并且是另一个软件的一部分。我希望能够多次调用 bat 文件,每次都有不同的变量值。

标签: windows batch-file environment-variables


【解决方案1】:

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

setlocal
set LOCALVAR=XYZ
call MyScript.bat
endlocal

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

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

【讨论】:

  • 请务必注意,SETLOCAL 仅适用于批处理文件。所以这个答案中的代码必须在一个批处理文件中 - 如果直接在交互式命令行上使用它将不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
相关资源
最近更新 更多