간접 참조 변수를 사용하고 싶습니다. 나는 명령 프롬프트에서 다음을 설정하고Powershell - 포인터 또는 참조 변수
SET RiskScheduler=true
내 코드는 내가이
$name='RiskScheduler'
Write-host $name # prints RiskScheduler
Write-Host $Env:$name # gives error
오류 나는 다음과 같은 코드로 인쇄해야 같은를 달성하고자하는이
Write-Host "$Env:RiskScheduler" # prints true
같다 받고있는 것은
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 도움을 받으 셨지만 해결책을 찾지 못했습니다. 감사합니다!
사실 내 이름은 "name"이 가변적인데, 그러한 값이 많이 있습니다. 배열에 넣고 하나씩 읽고 싶습니다. 반복 된 코드를 작성하고 싶지는 않습니다. 너는 약간 제안을 줄 수 있는다. –
당신은 변수 이름의 배열을 만든 다음 각각의 변수를 반복하여'Get-EnvVar'를 호출하여 값을 검색 할 수 있습니다. – Bassie
@AmarKumbhar 실제 솔루션을 찾았고이를 내 최상위에 추가했습니다. 대답, 도움이되는 희망 – Bassie