Удаляет заданные элементы.

Синтаксис

Remove-Item [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Remove-Item [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Описание

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

Параметры

-Credential <PSCredential>

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

Введите имя пользователя, например "User01" или "Domain01\User01", или введите объект PSCredential, например объект, создаваемый командлетом Get-Credential. При вводе имени пользователя система запросит пароль.

Этот параметр не поддерживается ни одним из установленных с Windows PowerShell поставщиком.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Exclude <string[]>

Исключает указанные элементы. Значение этого параметра определяет значение параметра Path. Введите элемент пути или шаблон, например "*.txt". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Filter <string>

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Force

Позволяет командлету удалить элементы, которые не могут быть изменены другим образом, например скрытые файлы, файлы только для чтения, псевдонимы или переменные только для чтения. Командлет не может удалять псевдонимы или переменные, являющиеся константами. Реализация варьируется от поставщика к поставщику. Дополнительные сведения см. в разделе About_Providers. Даже при использовании параметра Force командлет не может переопределить ограничения безопасности.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Include <string[]>

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-LiteralPath <string[]>

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

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Path <string[]>

Задает путь к удаляемым элементам. Подстановочные знаки разрешены. Имя параметра ("-Path") указывать необязательно.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-Recurse

Удаляет элементы из указанных местоположений и из всех дочерних элементов этих местоположений.

Параметр Recurse работает в данном командлете некорректно.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Confirm

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-WhatIf

Описывает, что произойдет при выполнении команды, без ее фактического выполнения.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-UseTransaction

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

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

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

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

System.String

Строку, содержащую путь (но не литеральный путь), можно передать командлету Remove-Item по конвейеру.

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

Нет

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

Примечания

К командлету Remove-Item также можно обращаться с помощью одного из встроенных псевдонимов "del", "erase", "rmdir", "rd", "ri" или "rm". Дополнительные сведения см. в разделе About_Aliases.

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

Пример 1

C:\PS>remove-item C:\Test\*.*

Описание
-----------
Эта команда удаляет все файлы из папки C:\Test, имена которых содержат точку (.). Так как в данной команде указана точка, то она не может использоваться для удаления каталогов и файлов без расширения.






Пример 2

C:\PS>remove-item * -include *.doc -exclude *1*

Описание
-----------
Эти команды удаляют из текущей папки все файлы с расширением .doc, имена которых не содержат "1". Подстановочный знак (*) используется для обозначения всего содержимого текущей папки. Для указания файлов, которые необходимо удалить, используются параметры Include и Exclude.






Пример 3

C:\PS>remove-item -path C:\Test\hidden-RO-file.txt -force

Описание
-----------
Эта команда удаляет файл, имеющий атрибуты "скрытый" и "только для чтения". Для задания файла используется параметр Path. Для предоставления прав на удаление указанного файла используется параметр Force. Файлы с атрибутами "только для чтения" или "скрытый" нельзя удалить без указания параметра Force.






Пример 4

C:\PS>get-childitem * -include *.csv -recurse | remove-item

Описание
-----------
Эта команда рекурсивно удаляет все CSV-файлы в текущем каталоге, включая все вложенные.

Так как параметр Recurse не может использоваться в данном командлете, в команде используется командлет Get-Childitem, который извлекает необходимые файлы, и оператор конвейера, передающий их командлету Remove-Item.

В команде Get-ChildItem параметр Path имеет значение *, что обозначает содержимое текущей папки. В данной команде для рекурсивного извлечения данных используется параметр Recurse, а параметр Include указывает обработку только CSV-файлов. 

При указании типа файлов в пути, например "-path *.csv", командлет интерпретирует объект поиска как файл без потомков, и происходит ошибка, связанная с параметром Recurse.






Пример 5

C:\PS>remove-item hklm:\software\mycompany\OldApp -recurse

Описание
-----------
Эта команда удаляет раздел реестра OldApp, включая все его вложенные разделы и параметры. Для удаления раздела используется командлет Remove-Item. Путь указывается, а необязательное имя параметра (Path) опускается. 

При использовании параметра Recurse происходит рекурсивное удаление всего содержимого раздела OldApp. Если в разделе содержатся подразделы и параметр Recurse не указан, отображается запрос на подтверждение удаления содержимого раздела.






См. также