Удаляет заданные элементы.
Синтаксис
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 не указан, отображается запрос на подтверждение удаления содержимого раздела.