You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下PowerShell 7.4.0临时设环境变量执行命令的对应语法?

PowerShell 7中临时为单条命令设置环境变量的语法

我之前使用Bash时,支持通过以下语法在执行指定程序期间临时设置环境变量:

VAR=VAL ./executable_file

也就是仅在executable_file运行时将环境变量VAR设为VAL,程序结束后该环境变量不会在会话中保留。现在我在用Windows系统上的PowerShell 7.4.0,想知道有没有对应的实现方式?


有的,PowerShell 7.4.0里有几种实用的实现方式:

  • 临时会话级设置(会话中会保留变量):
    直接先设置环境变量再执行命令,写法简单,但设置的变量会留在当前PowerShell会话中:

    $env:VAR='VAL'; ./executable_file
    
  • 完全隔离的进程级设置(仅对目标程序生效):
    使用Start-Process命令,通过-Environment参数单独指定目标进程的环境变量,完全不影响当前会话:

    Start-Process -FilePath ./executable_file -Environment @{ VAR='VAL' } -Wait
    

    如果需要给程序传递参数,把参数内容加到-ArgumentList参数里即可,比如:

    Start-Process -FilePath ./executable_file -ArgumentList "arg1 arg2" -Environment @{ VAR='VAL' } -Wait
    
  • 贴近Bash风格的局部设置(不影响当前会话):
    用脚本块包裹设置和执行逻辑,脚本块内的环境变量修改是局部的,执行完后当前会话不会保留这个变量:

    & { $env:VAR='VAL'; ./executable_file }
    

内容的提问来源于stack exchange,提问作者shynur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:26:03