有些文件夹和文件是无法用Windows资源管理器删除的,这些包括具有长路径、名称或保留名称的文件,如CON、AUX、COM1、COM2、COM3、COM4、LPT1、LPT2、LPT3、PRN、NUL等。即使你是管理员,当你尝试使用Windows资源管理器删除这些文件时,也会收到“拒绝访问”的错误消息,这时,只能使用命令行强制删除它们。
默认情况下,Windows 10内置了2个命令行界面:命令提示符和PowerShell,这两个都将用于从计算机删除不需要的内容。
一、如何使用命令提示符删除文件和文件夹
建议你使用具有管理特权的命令提示符,以免遇到任何可能的其他提示。
1.在cmd中执行Del/Erase命令
命令提示符中的Del和Erase命令是彼此的别名,无论你使用哪个命令,两者都执行相同的功能,可用于删除当前工作目录中的单个项目(文件)。请记住,它不能用于删除目录(文件夹)本身。
使用以下两个命令之一:
- Del 文件/文件夹名称
- Erase 文件/文件夹名称
将文件/文件夹名称替换为你要删除的项目的名称。
如果尝试从文件夹中删除项目(无论是否为空),系统将提示你进行确认操作,在这种情况下,你需要输入Y(是)和N(否)进行确认。如果选择是,则将直接删除文件夹中的项目,但目录(文件夹)将保留。但是,该文件夹内的子目录将完全不会更改。
为了删除文件夹及其子目录中的所有内容,你将需要在命令中添加/s选项即可。
2.cmd中的rmdir /rd命令
与Del和Erase相似,rmdir和rd也是彼此的别名,表示删除目录。这些命令用于删除整个目录和子目录,包括目录中的内容。
- rmdir“新文件夹”
上面的命令只会在“新文件夹”为空的情况下将其删除。如果文件夹包含子目录,则可能会出现以下“目录不为空”的提示,在这种情况下,我们将需要应用/s选项来删除项目,就像我们之前使用Del命令所做的那样。
- rmdir /s“最终文件夹”
当然,也可以使用/q选项执行此操作,这个命令会自动删除,不会提示你进行确认。
- rmdir / s / q“最终文件夹”
3.删除多个文件和文件夹
到目前为止,我们已经完成了每个命令删除单个项目的任务。现在,让我们看看如何删除多个文件或文件夹。
对于文件:
- Del“ File1.txt”“ File3.txt”“ File5.txt”
对于目录:
- rd“ Folder1”“ Folder3”“ Folder5”
还可以使用带有文件类型或文件名的星号(*),通过Del命令执行文件的批量删除。但是,微软删除了对rmdir使用星号的支持,以便用户不会意外删除整个文件夹。
这是我们从当前工作目录中删除所有.txt文件的示例:
- Del“ * .txt”
4.删除任何目录中的文件和文件夹
只需将要删除的项目的完整路径放在括弧中,即可将其删除,如以下示例所示:
- rmdir "d:\test1\test2 folder\folder2"
5.检查文件或文件夹是否存在,然后使用IF命令删除
我们可以通过在命令提示符中键入Dir来查看工作目录的内容,但是,你可以在命令提示符中应用“if”条件以删除某项。方法如下:
- if exist File/FolderName (rmdir /s/q File/FolderName)
将两个位置的File/FolderName替换为要删除的项目的名称(以及扩展名)。这是一个示例:
- if exist Desktop (rmdir /s/q Desktop)
二、如何使用Windows PowerShell删除文件和文件夹
Windows PowerShell中用于从PC删除内容的命令与“命令提示符”的命令非常相似,并带有一些其他别名。总体功能和逻辑是相同的。
建议你在继续之前“以管理员身份运行”Windows PowerShell。
这里要注意的是,与命令提示符不同,所有命令都可以用于两个目的:删除单个文件以及完整的目录。因此在使用PowerShell删除文件和文件夹时要小心,因为目录本身也会被删除。
如果目录包含子目录,PowerShell将确认你是否要继续删除操作,该操作还将包括所有子对象。
以下是可在PowerShell中用于删除项目的所有命令/别名的列表:
- Del
- Rm-dir
- remove-item
- Erase
- Rd
- Ri
- Rm
我们在工作目录中测试了所有这些命令,每个命令都成功删除了文件夹以及单个项目。
可以使用以下任何命令通过PowerShell删除项目:
- Del File/FolderName
- Rm-dir File/FolderName
- remove-item File/FolderName
- Erase File/FolderName
- Rd File/FolderName
- Ri File/FolderName
- Rm File/FolderName
1.删除多个文件和文件夹
你还可以删除多个选中的文件和文件夹,就像我们在使用命令提示符时所做的那样。唯一的区别是,你需要提供每个项目的完整路径,即使在同一个工作目录中。像使用下面的命令:
- Del "DriveLetter:\Path\ItemName", "DriveLetter:\Path\ItemName"
如果项目不是目录(.txt、.png等),请记住要附加文件类型。
也可以使用星号(*)与文件类型或文件名连接,使用Del命令执行文件的批量删除,如在命令提示符中所做的那样。
2.删除任何目录中的文件和文件夹
你也可以像在命令提示符中一样在其他目录中删除项目。只需在PowerShell中输入该项目的完整路径即可,如下所示:
- Del "DriveLetter:\Path\ItemName", "DriveLetter:\Path\ItemName"
三、使用命令行删除路径复杂且较长的文件和文件夹
有时,你在尝试删除项目时可能会遇到错误,这可能是因为路径太长,或者由于项目被埋得太深而无法删除。下面是一个巧妙的技巧,你可以同时使用命令提示符和PowerShell来清空该文件夹,然后使用上述任何一种方法将其删除。
使用以下命令将一个文件夹(为空)的内容复制到无法删除的文件夹中。这还将使目标文件夹为空,从而使其可移动。
- robocopy "D:\EmptyFolder" D:\FolderToRemove /MIR
在这种情况下,EmptyFolder是我们故意保留为空的源文件夹,以将其复制到目标文件夹“FolderToRemove”。
现在,你将看到以前不可移动的文件夹现在为空。你可以使用本文讨论的任何方法继续删除它。
总结
命令行是Windows用户的福音,你可以使用这些命令来删除计算机上最顽固的文件和文件夹。