del:用于删除文件。rd:用于删除空文件夹。
下面我们分别对它们进行详细说明。

del 命令 (Delete)
del 命令用于删除一个或多个文件,它是 erase 命令的简写形式,两者功能完全相同。
基本语法
del [盘符:][路径]文件名 [/P] [/F] [/S] [/Q] [/A[:attributes]]
常用参数和示例
示例 1:删除单个文件
del C:\temp\test.txt
这会直接删除 C 盘 temp 文件夹下的 test.txt 文件,不会有任何提示。
示例 2:删除多个文件

del C:\temp\*.log
这会删除 C 盘 temp 文件夹下所有扩展名为 .log 的文件。
示例 3:强制删除只读文件
del /F C:\temp\readonly_file.txt
/F(Force):强制删除只读文件,如果不加/F,系统会提示你确认是否删除只读文件。
示例 4:删除前进行确认
del /P C:\temp\*.tmp
/P(Prompt):在删除每个文件之前都会暂停并提示你[Y, N]?,输入Y确认删除,输入N跳过。
示例 5:递归删除文件夹中的所有文件

del /S /Q C:\temp_old\*.*
/S(Subdirectories):递归删除指定目录及其所有子目录中的文件。/Q(Quiet):安静模式,删除时不提示确认。这是一个非常强大的参数,使用时务必小心!- 这是一个通配符,代表“所有文件”。
⚠️ 重要警告:del 命令非常危险!
特别是当使用 del /S /Q *.* 或 del /S /Q . 时,它会永久删除指定路径下的所有文件,并且不会进入回收站。操作前请务必确认路径正确,最好先备份重要数据。
rd 命令 (Remove Directory)
rd 命令用于删除文件夹(目录),它和 rmdir 命令是等价的。
基本语法
rd [/S] [/Q] [盘符:][路径]文件夹名
常用参数和示例
示例 1:删除一个空文件夹
rd C:\temp\empty_folder
这只能删除 empty_folder,如果这个文件夹不是空的(里面还有文件或子文件夹),命令会失败并提示 The directory is not empty (目录不为空)。
示例 2:删除一个非空文件夹及其所有内容
rd /S /Q C:\temp\full_folder
/S(Subdirectories):递归删除指定目录以及它所包含的所有文件和子文件夹。如果没有/S,rd只能删除空目录。/Q(Quiet):安静模式,删除时不提示确认,同样,使用时务必小心!
示例 3:删除当前目录下的空文件夹
rd my_empty_folder
del 和 rd 的组合使用
在实际操作中,我们经常需要删除一个完整的目录,包括里面的所有文件和子文件夹,最经典、最安全的做法是分两步:
- 先用
del删除目录下的所有文件。 - 再用
rd删除现在已成为空目录的文件夹。
示例:安全地删除一个目录及其所有内容
假设我们要删除 C:\temp\my_project 这个目录。
步骤 1:删除 my_project 目录内的所有文件
del /S /Q C:\temp\my_project\*.*
- 这个命令会清空
my_project目录及其所有子目录中的所有文件,但保留文件夹结构本身。
步骤 2:删除 my_project 目录
rd /S /Q C:\temp\my_project
my_project目录是空的(因为文件已经被删光了),rd /S命令会成功删除它本身以及它所有空的子文件夹。
提示:在较新的 Windows 版本中,有一个更简单、更强大的命令
rd /s /q就可以完成上述两步操作,但分步操作更清晰,也更不容易出错。
现代替代方案:PowerShell
对于现代 Windows 系统,更推荐使用 PowerShell,它的命令更直观、功能更强大。
-
删除文件:
Remove-Item(别名rm或ri)# 删除单个文件,带确认提示 Remove-Item -Path "C:\temp\test.txt" # 强制删除,不提示 Remove-Item -Path "C:\temp\*.log" -Force
-
删除文件夹:
Remove-Item(别名rm或ri)# 删除空文件夹 Remove-Item -Path "C:\temp\empty_folder" # 删除非空文件夹及其所有内容,不提示 Remove-Item -Path "C:\temp\full_folder" -Recurse -Force
-Recurse:相当于del的/S和rd的/S,表示递归删除。-Force:相当于del和rd的/F和/Q,强制执行且不提示。
总结对比
| 特性 | del 命令 |
rd 命令 |
|---|---|---|
| 全称 | Delete (删除) | Remove Directory (移除目录) |
| 功能 | 删除文件 | 删除空文件夹 |
| 删除非空文件夹 | 不能 | 不能,除非加上 /S 参数 |
| 关键参数 | /S (递归删除文件), /F (强制), /Q (静默) |
/S (递归删除目录和内容), /Q (静默) |
| 危险性 | 极高,特别是 del /S /Q *.* |
高,特别是 rd /S /Q |
| 现代替代 | Remove-Item (PowerShell) |
Remove-Item -Recurse (PowerShell) |
希望这个详细的解释能帮助你完全理解 del 和 rd 命令的用法和区别!
