Поделиться через


Clear-Variable

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

Синтаксис

Clear-Variable
     [-Name] <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-PassThru]
     [-Scope <String>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Описание

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

Примеры

Пример 1. Удаление значения глобальных переменных, начинающихся со строки поиска

Clear-Variable my* -Scope Global

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

Пример 2. Очистка переменной в дочерней области, но не родительской области

$a=3
&{ Clear-Variable a }
$a

3

Эти команды демонстрируют, что очистка переменной в дочерней области не очищает значение родительской области. Первая команда задает значение переменной $a 3. Вторая команда использует оператор вызова (&) для выполнения команды Clear-Variable в новой области. Переменная очищается в дочерней области (хотя она не существует), но не очищается в локальной области. Третья команда, которая получает значение $a, показывает, что значение 3 не влияет.

Пример 3. Удаление значения указанной переменной

Clear-Variable -Name "Processes"

Эта команда удаляет значение переменной с именем Processes. После завершения операции командлет переменная с именем "Процессы" по-прежнему существует, но значение равно NULL.

Параметры

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Exclude

Указывает массив элементов, которые этот командлет пропускает в операции. Значение этого параметра квалифифициирует параметр Name. Введите элемент имени или шаблон, например "s*". Разрешены подстановочные знаки.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Force

Позволяет командлету очистить переменную, даже если она доступна только для чтения. Даже с помощью параметра Force командлет не может очистить константы.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Include

Указывает массив элементов, которые этот командлет включает в операцию. Значение этого параметра квалифифициирует параметр Name. Введите элемент имени или шаблон, например "s*". Разрешены подстановочные знаки.

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Name

Указывает имя переменной для очистки. Разрешены подстановочные знаки. Этот параметр является обязательным, но имя параметра Имя является необязательным.

Тип:String[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-PassThru

Возвращает объект, представляющий элемент, с которым вы работаете. По умолчанию этот командлет не создает выходные данные.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Scope

Указывает область, в которой допустимый псевдоним.

Допустимые значения для этого параметра:

  • Global
  • Local
  • Script

Кроме того, можно использовать число относительно текущей области (от 0 до количества областей, где 0 — текущая область, а 1 — родительская область). Локальный — это значение по умолчанию. Дополнительные сведения см. в about_Scopes.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Невозможно передать объекты в этот командлет.

Выходные данные

None

По умолчанию этот командлет не возвращает выходные данные.

PSVariable

При использовании параметра PassThru этот командлет возвращает объект PSVariable, представляющий чистую переменную.

Примечания

PowerShell включает следующие псевдонимы для Clear-Variable:

  • Все платформы:

    • clv
  • Чтобы удалить переменную вместе со значением, используйте Remove-Variable или Remove-Item.

    Этот командлет не удаляет значения переменных, которые задаются как константы или принадлежат системе, даже если используется параметр Force.

    Если переменная, которую вы очищаете, не существует, командлет не действует. Он не создает переменную со значением NULL.