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


Clear-Content

Удаляет содержимое элемента, но не удаляет элемент.

Синтаксис

Path (Default) - FileSystem provider

Clear-Content
    [-Path] <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-Stream <String>]
    [<CommonParameters>]

LiteralPath - FileSystem provider

Clear-Content
    -LiteralPath <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-Stream <String>]
    [<CommonParameters>]

Path (Default) - All providers

Clear-Content
    [-Path] <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LiteralPath - All providers

Clear-Content
    -LiteralPath <String[]>
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Force]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

Командлет Clear-Content удаляет содержимое элемента, например удаление текста из файла, но не удаляет элемент. В результате элемент существует, но он пуст. Clear-Content аналогичен Clear-Item, но он работает над элементами с содержимым вместо элементов со значениями.

Примеры

Пример 1. Удаление всего содержимого из каталога

Clear-Content "..\SmpUsers\*\init.txt"

Эта команда удаляет все содержимое из файлов init.txt во всех подкаталогах каталога SmpUsers. Файлы не удаляются, но они пусты.

Пример 2. Удаление содержимого всех файлов с подстановочным знаком

Clear-Content -Path "*" -Filter "*.log" -Force

Эта команда удаляет содержимое всех файлов в текущем каталоге с расширением имени файла .log, включая файлы с атрибутом только для чтения. Звездочка (*) в пути представляет все элементы в текущем каталоге. Параметр Force делает команду эффективной в файлах только для чтения. Использование фильтра для ограничения команды файлами с расширением имени файла .log вместо указания *.log в пути делает операцию быстрее.

Пример 3. Очистка всех данных из потока

В этом примере показано, как командлет Clear-Content очищает содержимое из альтернативного потока данных при сохранении потока без изменений.

Первая команда использует командлет Get-Content для получения содержимого потока Zone.Identifier в файле Copy-Script.ps1, который был скачан из Интернета.

Вторая команда использует командлет Clear-Content для очистки содержимого.

Третья команда повторяет первую команду. Он проверяет, очищается ли содержимое, но поток остается. Если поток был удален, команда создаст ошибку.

Этот метод можно использовать для очистки содержимого альтернативного потока данных. Однако не рекомендуется устранять проверки безопасности, которые блокируют файлы, скачанные из Интернета. Если убедиться, что скачанный файл является безопасным, используйте командлет Unblock-File.

Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
[ZoneTransfer]
ZoneId=3
Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

Параметры

-Confirm

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

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

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

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

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

-Credential

Замечание

Этот параметр не поддерживается поставщиками, установленными с помощью PowerShell. Чтобы олицетворить другого пользователя или повысить свои учетные данные при выполнении этого командлета, используйте Invoke-Command.

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

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

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

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

-Exclude

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

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

Тип:

String[]

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

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

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

-Filter

Задает фильтр в формате или языке поставщика. Значение этого параметра квалифифициирует параметр Path. Синтаксис фильтра, включая использование подстановочных знаков, зависит от поставщика. Фильтры более эффективны, чем другие параметры, потому что поставщик применяет их при извлечении объектов, а PowerShell фильтрует объекты после их извлечения.

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

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

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

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

-Force

Принудительно выполняется команда без запроса подтверждения пользователя.

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

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

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

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

-Include

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

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

Тип:

String[]

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

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

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

-LiteralPath

Указывает пути к элементам, из которых удаляется содержимое. В отличие от параметра пути значение ЛитерPath используется точно так же, как и типизированный. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки ('). Одинарные кавычки говорят, что PowerShell не интерпретирует какие-либо символы как escape-последовательности.

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

Тип:

String[]

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

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

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

-Path

Указывает пути к элементам, из которых удаляется содержимое. Подстановочные символы разрешены. Пути должны вести к объектам, а не к контейнерам. Например, необходимо указать путь к одному или нескольким файлам, а не к каталогу. Подстановочные символы разрешены. Этот параметр является обязательным, но имя параметра (путь) является необязательным.

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

Тип:

String[]

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

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

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

-Stream

Это динамический параметр, доступный поставщиком файловой системы . Этот параметр доступен только в Windows.

Задает альтернативный поток данных для содержимого. Если поток не существует, этот командлет создает его. Подстановочные знаки не поддерживаются.

Командлет Clear-Content можно использовать для изменения содержимого любого альтернативного потока данных, например Zone.Identifier. Однако мы не рекомендуем это сделать так, чтобы устранить проверки безопасности, которые блокируют файлы, скачанные из Интернета. Если убедиться, что скачанный файл является безопасным, используйте командлет Unblock-File.

Этот параметр появился в PowerShell 3.0. По состоянию на PowerShell 7.2 Clear-Content может очистить содержимое альтернативных потоков данных из каталогов, а также файлов.

Дополнительные сведения см. в about_FileSystem_Provider.

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

Тип: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

Этот командлет не возвращает выходные данные.

Примечания

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

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

Вы можете использовать Clear-Content с поставщиком Файловой системы PowerShell и другими поставщиками, которые управляют содержимым. Чтобы очистить элементы, которые не считаются контентом, например элементы, управляемые поставщиками сертификатов PowerShell или реестра, используйте Clear-Item.

Командлет Clear-Content предназначен для работы с данными, предоставляемыми любым провайдером. Чтобы вывести список поставщиков, доступных в сеансе, введите Get-PSProvider. Дополнительные сведения см. в разделе о поставщиках.