ENVVAR=abc command
有没有办法像在 Unix 上一样在 Windows 上为单个命令设置环境变量?
Windows 上由命令设置的变量set
似乎会保留在以下命令中,但这不是我想要的。
答案1
有没有办法为单个命令设置环境变量?
从当前cmd
shell:
您必须自己清除变量。
set "ENVVAR=abc" && dir & set ENVVAR=
从批处理文件:
您可以使用setlocal
和endlocal
。
@echo off
setlocal
set "ENVVAR=abc" && dir
endlocal
使用子cmd
壳:
您可以使用它cmd /c
来创建一个子壳。
该变量在子 shell 中设置,不会影响父 shell(正如评论中指出的那样jpmc26)。
cmd /C "set ENVVAR=abc && dir"