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


Clear-Content

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

Синтаксис

Clear-Content
     [-Path] <String[]>
     [-Filter <String>]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-Credential <PSCredential>]
     [-WhatIf]
     [-Confirm]
     [-Stream <String>]
     [<CommonParameters>]
Clear-Content
     -LiteralPath <String[]>
     [-Filter <String>]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-Credential <PSCredential>]
     [-WhatIf]
     [-Confirm]
     [-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 командлет .

PS C:\> Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

[ZoneTransfer]
ZoneId=3

PS C:\>Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier

PS C:\>Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
PS C:\>

Параметры

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
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, LP
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 командлет .

Type:String
Position:Named
Default value:None
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.