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


Clear-Variable

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

Синтаксис

Default (по умолчанию)

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

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Exclude

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Include

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

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

Свойства параметра

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:True
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-PassThru

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

Свойства параметра

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Scope

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

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

  • Global
  • Local
  • Script

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметра

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

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

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

None

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

PSVariable

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

Примечания

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

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

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

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

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