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


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

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

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

-Credential

Примечание.

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

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

-Exclude

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

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

-Filter

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

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

-Force

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

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

-Include

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

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

-LiteralPath

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

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

-Path

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

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

-Stream

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

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

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

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

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

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

-WhatIf

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

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

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

None

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

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

None

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

Примечания

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

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

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

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