Alexander A Manaeff -

 
 

Как очистить переменные текущего сеанса

Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев.
Отличная замена командной строке. Возможности просто безграничные.

Модератор: UncleFather

Как очистить переменные текущего сеанса

Сообщение UncleFather » 09 мар 2014 09:42, Вс

Значение переменной в текущем сеансе PowerShell можно очистить с помощью командлета Clear-Variable. Этот командлет удаляет только данные, хранящиеся в переменной, оставляя саму переменную. В результате переменная получает пустое значение (NULL). Если для переменной был явно указан тип данных, он также будет сохранен.

Clear-Variable не обнуляет значения констант и системных переменных, даже при указании параметра -Force. Также, если указанная при выполнении переменная не существует, то командлет не сработает - Clear-Variable не создает пустые переменные (со значением null).

Пример использования:
Код: Выделить всё
Clear-Variable -Name MyVar -Force -ErrorAction SilentlyContinue

Здесь нужно обратить внимание на то, что имя переменной указывается без префикса $


Если же необходимо не обнулить, а полностью удалить переменную, то нужно пользоваться командлетом Remove-Variable.

Следующая команда УДАЛЯЕТ все переменные в текущем сеансе PowerShell:
Код: Выделить всё
Remove-Variable -Name * -Force -ErrorAction SilentlyContinue


Обратите внимание, что аналогичный синтаксис команды при очистке переменных:
Код: Выделить всё
Clear-Variable -Name * -Force -ErrorAction SilentlyContinue

выдаст ошибку:
Clear-Variable : Не удалось выполнить проверку переменной, так как значение 0 является недопустимым для переменной MaximumErrorCount.

01.jpg

Поскольку командлет Clear-Variable не смог присвоить переменной MaximumErrorCount нулевое значение, то его выполнение было прервано и остальные переменные так же не обнулились.

В этом случае можно, например, исключить переменные начинающиеся на Max из области действия командлета:
Код: Выделить всё
Clear-Variable -Name * -Exclude "Max*"  -Force -ErrorAction SilentlyContinue
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1315
Зарегистрирован: 17 авг 2004 16:20, Вт

Вернуться в Windows PowerShell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff -
@Mail.ru .