我想使用間接引用變量。 我在命令提示符下設置此Powershell - 指針或引用變量
SET RiskScheduler=true
我的代碼是這樣的
Write-Host "$Env:RiskScheduler" # prints true
我想達到同樣應該印有像這樣的代碼
$name='RiskScheduler'
Write-host $name # prints RiskScheduler
Write-Host $Env:$name # gives error
錯誤我我得到的是
Cannot process argument because the value of argument "path" is invalid. Change the value of the "path" argument and ru
n the operation again.
At D:\tmp\buildtools\udclient.6.2\ud_clean.PS1:37 char:17
+ Write-Host $Env: <<<< `$name`
+ CategoryInfo : InvalidArgument: (:) [], PSArgumentException
+ FullyQualifiedErrorId : Argument
我在找東西,首先應該評估$name
,然後評估$Env:(value of $name)
。
有人可以請建議,什麼是正確的語法,我試過閱讀powershell幫助,但沒有找到解決辦法,謝謝!
實際上在我的情況下,「名稱」是可變的,有很多這樣的值,我想把它們放在數組中並逐個閱讀,不想重複編寫代碼。你能提出一些建議嗎? –
通過簡單地創建一個變量名稱數組,然後遍歷每個變量名稱,調用'Get-EnvVar'來獲取值 – Bassie
@AmarKumbhar我可以通過我的解決方案來實現這一點,我找到了實際的解決方案並將其添加到我的頂部回答,希望有所幫助 – Bassie