Windows del 命令不起作用?

Joh*_*ack 5 windows cmd.exe

我正在尝试删除一个大目录。我运行删除(del / f node_modules),它似乎工作,但目录仍然存在......(当我尝试从文件资源管理器中删除它时,它通常会给我一些“你需要管理员权限”或“无法删除,因为文件正在使用中”或者它需要永远。)

这是我的问题:是什么导致 del 命令看起来有效,但实际上无效?我希望有一些输出表明目录没有被删除。

使用的命令的图片和结果 另一个例子

use*_*686 5

del将删除所有内容,但(即使使用/f/s)它永远不会删除目录本身;就是这么写的。

改用rmdir /s

rd/s/q node_modules
Run Code Online (Sandbox Code Playgroud)


Dav*_*ill 5

如果我没有适当的权限,cmd 不会抛出访问被拒绝或什么的?

这不是del设计的工作方式。如果文件删除,del则会通知您。如果没有文件被删除,则del是静默或将显示错误消息(例如“访问被拒绝。”)。

通常,如果禁用命令扩展,DEL 将显示已删除文件的列表;它将显示它找不到的任何文件的列表。

Source Del - 删除文件 - Windows CMD - SS64.com

如果没有文件被删除,并且您没有适当的权限来删除它们,则会显示一条错误消息:

F:\test\foo>del C:\Windows\notepad.exe
C:\Windows\notepad.exe
Access is denied.
Run Code Online (Sandbox Code Playgroud)

我希望有一些输出表明目录没有被删除。

如果您使用del目录名,那么它将删除目录中的文件。指定的目录不会被删除。

如果给出文件夹名称而不是文件,则文件夹中的所有文件都将被删除,但文件夹本身不会被删除。

Source Del - 删除文件 - Windows CMD - SS64.com

要删除目录以及文件和子目录,请使用rd( 的别名rmdir):

删除(或删除)目录。

句法

RD pathname
RD /S pathname
RD /S /Q pathname
Run Code Online (Sandbox Code Playgroud)

/S:删除除文件夹本身之外的所有文件和子文件夹。使用它来删除整个文件夹树。

源 - RD - 删除目录 - Windows CMD - SS64.com