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


Clear-Content

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

Синтаксис

Clear-Content
     [-Path] <String[]>
     [-Filter <String>]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-Credential <PSCredential>]
     [-WhatIf]
     [-Confirm]
     [-UseTransaction]
     [-Stream <String>]
     [<CommonParameters>]
Clear-Content
     -LiteralPath <String[]>
     [-Filter <String>]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-Credential <PSCredential>]
     [-WhatIf]
     [-Confirm]
     [-UseTransaction]
     [-Stream <String>]
     [<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

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Примечание

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Указывает в качестве массива строк строки, которые этот командлет пропускает из пути к содержимому. Значение этого параметра определяет параметр Path. Введите путь к элементу или шаблон, например. «*.txt». Разрешено использовать подстановочные знаки.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

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

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Stream

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

Stream — это динамический параметр, добавляемый поставщиком FileSystem в Clear-Content. Этот параметр работает только на дисках с файловой системой.

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

Этот параметр впервые появился в Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseTransaction

Включает команду в активную транзакцию. Этот параметр доступен только при выполнении транзакции. Дополнительные сведения см. в разделе about_transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

None

Объекты нельзя передавать по конвейеру в Clear-Content.

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

None

Этот командлет не создает никаких объектов.

Примечания

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

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