【发布时间】:2020-05-07 23:57:54
【问题描述】:
我使用powershell设置了一些系统环境变量,包括路径。然后我用 Start-Process 开始一些任务。不幸的是,新进程的环境变量与启动 powershell 的环境变量相同。重现问题
1) 修改路径。我正在删除%JAVA_HOME%/bin,打开一个命令窗口,看到java 命令不起作用。
2) 启动 Powershell ISE
3) 将%JAVA_HOME%/bin 添加到系统路径。打开一个新的命令窗口,查看java 命令是否有效。
4) 在之前打开的 Powershell 窗口中,提交命令 start cmd 以使 powershell 打开一个 cmd.exe 命令窗口(“命令提示符”)。在新的命令窗口中验证 java 不起作用。
我的期望是新启动的进程将拥有自己的环境变量的新副本。
你能告诉我如何让 powershell 启动一个新任务并让该任务知道当前环境吗?
我试过了
start cmd
Start-Process -FilePath "cmd"
Start-Process -FilePath "cmd" -UseNewEnvironment
& cmd
谢谢!
【问题讨论】:
-
-UseNewEnvironment开关Start-Process旨在满足您的需求,但在 PowerShell Core 7.0.0-rc.2 中它(仍然)被破坏 - 请参阅 this GitHub issue。
标签: powershell environment-variables