我正在寻找机会启动具有特定环境变量的应用程序(例如编译器)。我想要与env
Linux 相同的功能。
env var=value application.exe
我发现在 Windows cmd.exe 中仅为一个命令设置环境变量但对这个决定并不满意。(因为写作中有很多特点,你可能会犯错误)
自 2010 年以来有什么变化吗?即使没有内置解决方案,我也会很高兴。
答案1
env var=value application.exe
是可能的。编写以下批处理脚本,命名它env.bat
并将其放置在目录中的某个位置PATH 变量。 请阅读命令行参数(参数)和设置本地文章以作进一步解释。
环境脚本脚本:
@setlocal
@set "%~1=%~2"
@%3
上述脚本适用于给定的简单命令,但需要稍微复杂一点才能接受诸如env var=value application.exe action input output
等的行参数。
编辑前:
set var=value&application.exe&set var=
即设置变量然后运行安慰应用程序,然后删除变量。
另一种方法:
cmd /C "set var=value&application.exe"
即启动 Windows 命令解释器的新实例并在其中设置变量然后运行安慰应用程序;有关/C
switch 含义,请参阅cmd /?
:
/C Carries out the command specified by string and then terminates
这里&
& 符号必须是逃脱在指定的命令. 你可以选择任意一个:
cmd /C "set var=value&application.exe"
或者
cmd /C set var=value^&application.exe
还要注意适当的间距:
↓ allowed space
cmd /C "set var=value & application.exe"
↑ this is harmful space as "%var%" would be "value " then
note trailing space ↑