2013-12-04 2 views
3

Моя дилемма: я хочу пройти через все мои переменные powershell, и для некоторых они делают их невидимыми. Я пытаюсь избежать написания кода для каждой отдельной переменной, так как их довольно много.Powershell: Пронумеруйте существующие переменные, чтобы сделать некоторые невидимыми

Это то, что я до сих пор придумал, и он не работает и надеется на небольшую помощь.

$var=Get-Variable | Where-Object {($_.name -like "*label*")} | Sleect -expand Name 
    foreach ($y in $var) { 
    $tes="`$$y" 
    $tes.Visiable=$false 
    } 

В сущности, я хочу «$ тес» должен быть заменен фактическим именем переменной «$ labelHome» так что команда будет работать, как если бы я поступил «$ labelHome.Visible = $ ложь»

Thanks

+0

Я не ожидал, что код будет работать вообще, поскольку у вас есть по крайней мере две опечатки в '' Sleect' и Visiable'. – alroc

ответ

1

Попробуйте это:

Get-Variable *label* | %{ ($_.Value).Visible = $false } 
+0

Спасибо, что сработало. – user3067367

+0

Прохладный, формулировка в сообщении была немного запутанной, но я подумал, что это было то, за чем вы были. – malexander

0

Возможно это?

Get-Variable *label* | Set-Variable -Visibility Private 
+0

Спасибо, но не повезло. Все еще видно – user3067367

+0

Насколько я знаю, это как «невидимое», как получает переменная PS. – mjolinor

Смежные вопросы