在学习 del 命令之前,我们可以在 dos 系统下执行 “del /?” 命令,查看 del 命令的帮助信息:
C:\Users\huangxin>del /? 删除一个或数个文件。 DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names names 指定一个或多个文件或者目录列表。 通配符可用来删除多个文件。如:*.txt 删除所有的 txt 文件 如果指定了一个目录,该目录中的所有文件都会被删除。 /P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 删除所有子目录中的指定的文件。 /Q 安静模式。删除全局通配符时,不要求确认 /A 根据属性选择要删除的文件 属性 R 只读文件 S 系统文件 H 隐藏文件 A 存档文件 I 无内容索引文件 L 重分析点 - 表示“否”的前缀 如果命令扩展被启用,DEL 和 ERASE 更改如下: /S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。
实例1:删除 a.txt 文件
C:\Users\administrator\Desktop\bat> del a.txt
实例2:删除 a.txt 文件,删除前给出提示
C:\Users\administrator\Desktop\bat> del /P a.txt C:\Users\administrator\Desktop\bat\a.txt,要删除(Y/N)吗? y
实例3:删除指定目录中的所有txt文件
C:\Users\administrator\Desktop\bat> del demo\*.txt
执行上面命令将删除 demo 目录下面所有的 txt 文件。如果 demo 下面还有子目录,子目录中的 txt 文件会被删除吗?答案是肯定的,需要用到 /S 参数,如下:
C:\Users\administrator\Desktop\bat> del /S demo\*.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\b.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\c.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\b.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\c.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\bak\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\bak\b.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\bak\c.txt
当然也可指定多个目录,如下:
C:\Users\administrator\Desktop\bat> del /S demo\*.txt demo2\*.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\c.txt C:\Users\administrator\Desktop\bat\demo\d.txt 拒绝访问。 删除文件 - C:\Users\administrator\Desktop\bat\demo\e.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\bak\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\c.txt C:\Users\administrator\Desktop\bat\demo2\d.txt 拒绝访问。 删除文件 - C:\Users\administrator\Desktop\bat\demo2\e.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\sub\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\sub\bak\a.txt
上面的 “拒绝访问” 是因为文件为只读文件,不能删除。可以使用 /F 参数强制删除。如下:
C:\Users\administrator\Desktop\bat> del /F /S demo\*.txt demo2\*.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\c.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\d.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\e.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo\sub\bak\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\c.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\d.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\e.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\sub\a.txt 删除文件 - C:\Users\administrator\Desktop\bat\demo2\sub\bak\a.txt
实例4:删除 demo 目录下面 txt 文件属性为隐藏文件的 txt 文件。
C:\Users\administrator\Desktop\bat> del /A:H demo\*.txt
其中:/A 表示根据属性过滤,H表示隐藏文件。/A:H 表示删除具有隐藏属性的文件