del 是一个基础但极其重要的命令,用于删除一个或多个文件,它的功能与 erase 命令完全相同,del 只是 erase 的一个简写别名。

基本语法
del [/p] [/f] [/s] [/q] [/a[:<attributes>]] <filename>
或者使用全称 erase:
erase [/p] [/f] [/s] [/q] [/a[:<attributes>]] <filename>
参数详解
下面是每个参数的详细说明,并附有示例。
/p (Prompt)
- 全称: Prompt
- 功能: 在删除每个文件之前,都会提示用户确认,这是防止误删的重要安全措施。
- 示例:
del /p C:\Temp\test.txt
执行后,系统会显示:
C:\Temp\test.txt, Delete (Y/N)?你需要输入
Y确认删除,或输入N取消。
(图片来源网络,侵删)
/f (Force)
- 全称: Force
- 功能: 强制删除只读文件,默认情况下,
del命令不会删除具有只读属性的文件。 - 示例:
del /f C:\Temp\readonly_file.txt
即使
readonly_file.txt是只读文件,此命令也会直接删除它,而不会提示。
/s (Subdirectories)
- 全称: Subdirectories
- 功能: 删除指定目录及其所有子目录中所有匹配的文件,这是一个递归删除操作。
- 示例:
del /s C:\Temp\*.tmp
此命令会删除
C:\Temp目录下以及其所有子目录中所有扩展名为.tmp的文件。
/q (Quiet)
- 全称: Quiet
- 功能: “安静”模式,不提示用户确认,通常与
/s参数结合使用,以避免在删除大量文件时产生大量确认提示。 - 示例:
del /q /s C:\Temp\*.tmp
此命令会静默删除
C:\Temp及其子目录中所有.tmp文件,不会要求你确认。
/a (Attributes)
- 全称: Attributes
- 功能: 根据文件的属性来选择要删除的文件,这是一个非常强大的参数,可以让你精确控制删除哪些文件。
- 用法:
/a:[属性代码] - 属性代码:
r: 只读h: 隐藏s: 系统a: 存档- 表示“非”,即不具有该属性。
- 示例:
- 删除
C:\Temp目录下所有的隐藏文件:del /a:h C:\Temp\*
- 删除
C:\Temp目录下所有非存档文件(即只读、隐藏、系统文件):del /a:-a C:\Temp\*
- 删除
C:\Temp目录下所有只读和隐藏文件:del /a:rh C:\Temp\*
- 删除
通配符 ( 和 )
del 命令支持使用通配符来批量匹配文件名:
- (星号): 代表任意长度的任意字符。
*.txt代表所有以.txt结尾的文件。 - (问号): 代表单个任意字符。
file?.doc可以匹配file1.doc,filea.doc,但不能匹配file10.doc。
示例:
- 删除
C:\MyData目录下所有 Word 文档:del C:\MyData\*.docx
- 删除
C:\MyData目录下所有以 "report" 开头,后面跟任意一个字符,并以.log结尾的文件:del C:\MyData\report?.log
重要注意事项和最佳实践
-
谨慎使用
/s和通配符的组合del /s C:\*.*是一个极其危险的操作!它会递归地删除 C 盘上所有文件(除了目录),请务必在执行前确认路径和文件名是正确的。 -
如何删除目录?
del命令只能删除文件,不能删除目录,要删除目录,你需要使用rmdir(或其简写rd) 命令。
rd /s /q <directory_name>: 这是删除目录及其内容的常用组合。/s: 递归删除目录下的所有文件和子目录。/q: 安静模式,不确认。
- 示例:
rd /s /q C:\Temp\Old_Folder
- 文件名中包含空格 如果文件名或路径中包含空格,必须用英文双引号 将其括起来。
- 正确示例:
del "C:\My Documents\report final.docx"
- 错误示例:
del C:\My Documents\report final.docx <!-- 系统会认为 C:\My 是一个路径 -->
- 误删文件后的补救
- 从命令行: Windows 没有像 Linux/Unix 那样的
rm -i或回收站机制,一旦文件被del删除(除非是网络共享文件,可能会进入对方的回收站),它通常不会进入你本地的回收站,直接从硬盘上被标记为可覆盖。 - 最佳策略: 在执行删除大量或重要文件的操作前,先使用
dir命令列出将要被删除的文件,以进行最终确认。dir /p /s C:\Temp\*.tmp
确认列表无误后,再执行
del命令。 - 数据恢复: 如果文件已被删除,可以尝试使用专业的数据恢复软件(如 Recuva, EaseUS Data Recovery Wizard 等),但成功率取决于文件是否被新数据覆盖。
总结表格
| 参数 | 全称 | 功能描述 |
|---|---|---|
/p |
Prompt | 删除前提示用户确认 |
/f |
Force | 强制删除只读文件 |
/s |
Subdirectories | 递归删除指定目录及其子目录中的所有匹配文件 |
/q |
Quiet | 安静模式,不提示确认 |
/a |
Attributes | 根据文件属性(如 r, h, s, a)来选择要删除的文件 |
| *``** | (通配符) | 匹配任意长度的任意字符 |
| (通配符) | 匹配单个任意字符 |
