在将相应的环境变量传递给进程时,我遇到了一些问题。您可以在下面看到我的部分代码,以便您了解我要做什么。
我有两个需要运行的 EXE 文件。这些进程会根据环境变量的位置运行一些更新%MainFiles%
。当我运行代码时,似乎 EXE 文件无法识别更改。但是,当我查看计算机属性时,我确实看到变量已正确更改。
有谁知道我怎样才能强制流程识别变化?谢谢
while ($i -lt $Size) {
if ($TempEnv[$i] -eq "Done"){
$ExitCode="Completed"
return
} else {
$Temp = $TempEnv[$i]
Write-Host ("Starting Update for " + $Temp) -foregroundcolor "Green"
[System.Environment]::SetEnvironmentVariable("MainFiles", "$Temp","Machine")
[System.Environment]::GetEnvironmentVariable("MainFiles","Machine")
Copy-Item $CopyInstallData -destination $Temp
$process = Start-Process XMLUpgrade.exe -WorkingDirectory "C:\Program Files\Dtm" -wait
$process = Start-Process Update.exe -WorkingDirectory "C:\Program Files\Dtm" -wait
.
.
.