Удаляет значение переменной.

Синтаксис

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.






См. также