Удаляет значение переменной.
Синтаксис
Clear-Variable [-Name] <string[]> [-Exclude <string[]>] [-Force] [-Include <string[]>] [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]
Описание
Командлет Clear-Variable удаляет данные, хранящиеся в переменной, но не саму переменную. В результате переменная получает значение NULL (пустое). Если переменная имеет указанный тип данных или объектный тип, командлет Clear-Variable оставляет тип объекта, хранимого в переменной, прежним.
Параметры
-Exclude <string[]>
Исключает указанные элементы. Значение данного параметра определяет значение параметра Name. Введите часть имени или шаблон, например "s*". Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Force
Позволяет командлету очистить переменную, даже если она доступна только для чтения. Даже при использовании параметра Force командлет не может очистить константу.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Include <string[]>
Очищает только указанные элементы. Значение данного параметра определяет значение параметра Name. Введите часть имени или шаблон, например "s*". Подстановочные знаки разрешены.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Name <string[]>
Задает имя очищаемой переменной. Подстановочные знаки разрешены. Этот параметр обязателен, но его имя ("Name") можно не указывать.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-PassThru
Возвращает объект, представляющий очищенную переменную. По умолчанию этот командлет не формирует никаких выходных данных.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Scope <string>
Задает область действия псевдонима. Допустимые значения: "Global", "Local", "Script" или номер относительно текущей области (от 0 до количества областей, где 0 — текущая область, а 1 — ее родительская область). По умолчанию используется значение "Local". Дополнительные сведения см. в разделе about_Scopes.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
Нет Объекты невозможно передать командлету Clear-Variable по конвейеру. |
Выходные данные |
Нет или System.Management.Automation.PSVariable Если задан параметр PassThru, командлет Clear-Variable создает объект System.Management.Automation.PSVariable, представляющий очищенную переменную. В противном случае этот командлет не формирует никаких выходных данных. |
Примечания
Чтобы удалить переменную вместе со значением можно использовать командлеты Remove-Variable или Remove-Item.
Командлет Clear-Variable не удаляет значения переменных, являющихся константами или принадлежащих системе, даже если используется параметр -Force.
Если очищаемой переменной не существует, этот командлет не выполняет никаких действий. Он не создает переменную со значением NULL.
Командлет Clear-Variable также можно вызывать с помощью встроенного псевдонима "clv". Дополнительные сведения см. в разделе About_Aliases.
Пример 1
C:\PS>clear-variable my* -global Описание ----------- Эта команда удаляет значения глобальных переменных, имена которых начинаются на "my".
Пример 2
C:\PS>$a=3 C:\PS>&{ clear-variable a } C:\PS>$a 3 Описание ----------- Эти команды показывают, что при очистке переменной в дочерней области значение в родительской области не удаляется. Первая команда присваивает переменной $a значение 3. Вторая команда использует оператор вызова (&) для выполнения команды Clear-Variable в новой области. В результате в дочерней области переменная очищается (хотя ее и не существовало), а в локальной — нет. Третья команда, получающая значение переменной $a, показывает, что значение 3 осталось неизменным.
Пример 3
C:\PS>clear-variable -name processes Описание ----------- Эта команда удаляет значение переменной $processes. После этого переменная $processes продолжает существовать, но имеет значение NULL.
См. также