我正在嘗試在母腳本中有一個控制器。它必須檢查 $Env:var 的狀態并根據值做一些事情。問題是我無論如何都無法重繪 它。它在執行開始時捕獲值,然后 $Env:var 保持靜態,盡管 $Env:var 在 Start-Job 塊之外發生了什么。
Start-Job -Name Controller -scriptblock {
while($true){
if ($Env:var -eq 100){
# lot of different stuff
}
Start-Sleep -Seconds 5
}
}
不幸的是,我在我的環境中受限于 PS 3.0。
uj5u.com熱心網友回復:
事實上,$Env一旦 PowerShell 行程啟動,環境變數就會被設定,并且當值改變時它們不會被重繪 。
如果環境變數在 PowerShell 之外發生變化,您必須直接從注冊表中讀取它們以獲取當前值。基地地點是:
系統環境變數
Get-Item "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
用戶環境變數
Get-Item HKCU:\Environment
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339909.html
標籤:变量 powershell-3.0 开始工作
上一篇:在Netlogo中使用帶有品種的“n-of”命令時出錯
下一篇:CPLEX上的二元決策變數問題
