Как удалить файл в командной строке

Категория: Windows 11 / Windows 10
Добавил: access_timeОпубликовано: 25-08-2023 visibilityПросмотров: 2 981 chat_bubble_outlineКомментариев: 0
Как удалить файл в командной строке

Содержание:



Удалить файл или папку с диска или флешки – что, казалось бы, может быть проще? Да, это действительно просто, если только вы не работаете в среде восстановления, в которой Проводник недоступен. В таких случаях вам придется использовать командную строку – мощный инструмент управления Windows, о котором многие пользователи уже начали забывать. Консоль может вам понадобиться и в работающей системе, например, при удалении скрытых и недоступных только для чтения файлов, а также файлов, используемых процессом explorer.exe (после его завершения).


Как удалить файл средствами Командной строки или PowerShell


Команды DEL и ERASE


Для удаления файлов в классической командной строке Windows используются две команды – DEL и ERASE, которые функционально ничем не отличаются, имея одинаковый набор аргументов. Команда имеет следующий синтаксис:

del /key full path

del или erase – это сама команда удаления, /key – это необязательный аргумент, а full path – полный путь к удаляемому файлу. Например, команда ниже удаляет файл test.log в папке Public на диске D:



del D:\Public\test.log

Кстати, указывать полный путь необязательно, если вы заранее перешли в папку с файлов. В этом случае указывается только команда удаления и сам файл:

del test.log

Файлы можно удалять не только по одному, но и все сразу, так, следующая команда удалит все файлы из папки Test:

del D:\Test



Будут пропущены лишь те файлы, которые имеют атрибуты «Только для чтения», «Скрытые», «Системные» и т. д. Для удаления таких файлов в команду добавляются специальные ключи, например, чтобы удалить файл с меткой «Только для чтения», в команду нужно добавить ключ /F, вот так:

del /F D:\Public\test.log

Помимо ключа /F, командой DEL поддерживает параметры /P, /S, /Q и /A. Рассмотрим их назначение чуть более подробно.    

 /P – включает запрос на подтверждение удаления файла.

 /Q – отключает запрос на подтверждение удаления файла, обычно используется при удалении групп файлов.  

 /A – ключ используется, когда нужно удалить группу файлов с определенными атрибутами – del /A:RH D:\Test – в результате выполнения этой команды из папки Test будут удалены все файлы с атрибутами R (только для чтения) и Н (скрытые).

 /S – если нужно удалить файлы рекурсивно, то есть не только в указанной папке, но и во всех вложенных в нее папках, добавьте в команду ключ S, вот так:

del /S D:\Test. 


Удаление файлов в PowerShell

В принципе, этих знаний достаточно, чтобы удалить любой несистемный файл, но рассмотренная нами тема была бы не раскрыта без упоминания о другом консольном инструменте Windows – PowerShell. Помимо поддержки ею команд DEL и ERASE, PowerShell располагает собственным командлётом для удаления объектов файловой системы. Он называется Remove-Item и имеет следующий синтаксис:

Remove-Item -Path -key


Командлёт очень похож на DEL, Path принимает значение пути к удаляемому объекту, а key – дополнительный параметр или несколько параметров. В отличие от DEL и ERASE, Remove-Item универсален и может использоваться для удаления как файлов, так и каталогов. Удалим файл test.log из папки Test:

Remove-Item -Path D:\Test\test.log

Использовать «-Path» необязательно, так как PowerShell и так понимает, что нужно делать. Папки удаляются аналогично, если нужно удалить только файлы, используется подстановочный знак, в данном случае точка перед расширением.

Remove-Item -Path D:\Test\*.*

Если путь содержит пробелы или кириллицу, его нужно взять в прямые двойные кавычки. Командлёт поддерживает около дюжины параметров, из которых вам наверняка пригодятся -Force и -Recurse.


Параметр -Force используется для принудительного удаления файлов с атрибутами «Только чтения», «Скрытый», «Архивный» и «Системный».

remove-item -path D:\Test\hiddenfile.txt -force

Параметр -Recurse служит для удаления файлов в указанной папке и всех вложенных в нее каталогах. Поскольку параметр Remove-Item в связке с командлётом -Recurse работает корректно не во всех версиях PowerShell, вместо Remove-Item лучше использовать Get-ChildItem. 

Get-ChildItem -Path "D:\Test" -File -Recurse | foreach { $_.Delete()}

Обращаем внимание, что эта команда удалит все файлы из папок в директории Test мимо Корзины, такова особенность ее работы. И на этом, пожалуй, достаточно. Более подробные сведения об использовании команд DEL, ERASE и Remove-Item можно получить в самой консоли, выполнив интересующую вас команду с ключом /?  в классической командной строке и get-help название-командлёта в PowerShell.

tagsКлючевые слова
     Рекомендуем другие статьи по данной теме
Ctrl
Enter
Заметили ошибку
Выделите и нажмите Ctrl+Enter

Добавить комментарий

Комментарии (0)

Комментариев пока-что нет

Но! Вы можете стать первым. Поделитесь своим впечатлением о статье или задайте свой вопрос!