菜鸟科技网

cmd命令大全,如何删除文件/文件夹?

⚠️ 重要警告:在执行任何删除命令前,请务必确认您要删除的内容!

特别是涉及到 del, rd, format, diskpart 等命令时,一旦执行,数据极难恢复,请务必小心操作。

cmd命令大全,如何删除文件/文件夹?-图1
(图片来源网络,侵删)

基础文件和文件夹删除命令

这些是最常用、最核心的删除命令。

delerase - 删除文件

delerase 是完全等价的,都用于删除一个或多个文件。

语法:

del [/p] [/f] [/s] [/q] [/a[[:]attributes]] names

常用参数详解: | 参数 | 全称 | 说明 | 示例 | | :--- | :--- | :--- | :--- | | names | | 必需参数,指定要删除的一个或多个文件名,可以使用通配符 和 。 | del C:\temp\test.txt | | /p | Prompt | 安全模式,删除前会逐一询问用户是否确认。 | del /p C:\temp\*.log | | /f | Force | 强制删除只读文件。 | del /f C:\temp\readonly.txt | | /s | Subdirectories | 删除指定目录及其所有子目录中的同名文件。 | del /s C:\temp\*.tmp (删除 temp 目录及其子目录下所有 .tmp 文件) | | /q | Quiet | 安静模式,不提示确认,直接删除。请谨慎使用! | del /q C:\temp\*.tmp | | /a | Attributes | 根据文件属性进行删除。 | del /a:r C:\temp\* (删除 temp 目录下所有只读文件) |

cmd命令大全,如何删除文件/文件夹?-图2
(图片来源网络,侵删)

属性代码 (用于 /a 参数):

  • r - 只读
  • a - 存档
  • s - 系统
  • h - 隐藏
  • - 表示“非” (/a:-h 表示删除非隐藏文件)

rdrmdir - 删除空目录

rdrmdir 是完全等价的,用于删除一个空的目录。

语法:

rd [/s [/q]] [/a[:attributes]] directory

常用参数详解: | 参数 | 全称 | 说明 | 示例 | | :--- | :--- | :--- | :--- | | directory | | 必需参数,指定要删除的目录路径。 | rd C:\temp\old_folder | | /s | Subdirectories | 删除目录及其所有内容,包括所有子目录和文件,如果未使用 /q,删除前会要求确认。 | rd /s C:\temp\old_folder | | /q | Quiet | 与 /s 一起使用时,不提示确认,直接删除。极其危险,请务必确认路径! | rd /s /q C:\temp\old_folder |

cmd命令大全,如何删除文件/文件夹?-图3
(图片来源网络,侵删)

高级和系统级删除命令

这些功能更强大,但风险也更高,通常需要管理员权限。

robocopy - 强大的文件复制和同步工具(可用于删除)

robocopy (Robust File Copy) 主要用于复制,但其 /mir (镜像) 参数可以非常高效地实现“删除源目录中多余文件”的操作,常用于目录同步。

语法(用于删除操作):

robocox SOURCE_PATH DESTINATION_PATH /MIR

参数详解: | 参数 | 全称 | 说明 | 示例 | | :--- | :--- | :--- | :--- | | SOURCE_PATH | | 源目录路径。 | D:\MyData | | DESTINATION_PATH | | 目标目录路径。 | E:\Backup\MyData | | /MIR | Mirror | 镜像模式,将目标目录变成源目录的精确副本。这会删除目标目录中存在但源目录中不存在的所有文件和文件夹! | robocopy D:\MyData E:\Backup\MyData /MIR |

注意:

  • /MIR 非常强大,但也非常危险。请务必确保 SOURCE_PATHDESTINATION_PATH 的顺序正确,否则可能导致数据丢失。
  • 建议先用 /E (复制子目录,包括空目录) 和 /L (列出操作,不实际执行) 进行测试。
    robocopy D:\MyData E:\Backup\MyData /E /L  # 先看看会做什么

forfiles - 批量处理文件(包括删除)

forfiles 可以在指定目录中查找文件,并对每个文件执行指定的命令,非常适合复杂的批量删除任务。

语法:

forfiles [/p <Path>] [/m <SearchMask>] [/c <Command>] [/d [{+|}<Date>]]

常用参数详解: | 参数 | 说明 | 示例 | | :--- | :--- | :--- | | /p <Path> | 指定要搜索的路径,默认为当前目录。 | /p C:\Windows\Temp | | /m <SearchMask> | 指定文件搜索掩码,默认为 。 | /m *.log | | /c <Command> | 对每个找到的文件执行的命令,用 @file@fname 等变量代表文件。 | /c "cmd /c echo Deleting @file && del @file" | | /d <Date> | 指定一个日期,用于选择文件。 | /d -30 (选择30天前创建的文件) |

示例:

  • 删除 C:\Windows\Temp 目录下所有30天前创建的 .log 文件:
    forfiles /p "C:\Windows\Temp" /m *.log /d -30 /c "cmd /c echo 正在删除 @file... && del @path"
    • @file: 文件名 (如 test.log)
    • @path: 完整路径 (如 C:\Windows\Temp\test.log)
    • @fname: 不带扩展名的文件名 (如 test)

format - 格式化磁盘(彻底清空)

format 命令会彻底擦除磁盘上的所有数据,并创建新的文件系统,这是一个不可逆的操作。

语法:

format [volume] [/fs:filesystem] [/v:label] [/q] [/a:size] [/c] [/x]

常用参数: | 参数 | 说明 | 示例 | | :--- | :--- | :--- | | volume | 必需参数,指定要格式化的驱动器号。 | D: | | /fs:filesystem | 指定文件系统类型,如 NTFS, FAT32, exFAT。 | /fs:NTFS | | /q | 快速格式化,仅删除文件分配表,不扫描坏扇区,速度快,但数据可能被恢复。 | format D: /q /fs:NTFS | | /x | 在格式化之前强制卸除卷,如果卷正在使用,此参数会先卸除它。 | format D: /x /fs:NTFS |


diskpart - 磁盘分区管理(危险!)

diskpart 是一个功能极其强大的磁盘分区管理工具。错误使用它会直接导致整个硬盘数据丢失,甚至使操作系统无法启动! 使用前请三思。

基本使用步骤:

  1. 管理员身份打开 CMD。
  2. 输入 diskpart 并回车,进入 diskpart 环境。
  3. 使用 list 命令查看磁盘或分区。
  4. 使用 select 命令选择要操作的磁盘或分区。
  5. 使用 clean 命令进行删除。

常用命令: | diskpart 命令 | 说明 | 危险等级 | | :--- | :--- | :--- | | list disk | 列出所有物理磁盘。 | 低 | | select disk X | 选择要操作的磁盘 (select disk 1)。 | 中 | | list partition | 列出所选磁盘上的所有分区。 | 低 | | select partition Y | 选择要操作的分区 (select partition 2)。 | 高 | | clean | 清除所选磁盘上的所有分区和格式信息,整个磁盘将变为“未分配空间”,数据将永久丢失。 | 极高 | | clean all | 清除所选磁盘上的所有数据并覆盖,比 clean 更彻底,速度极慢,用于彻底销毁数据。 | 极高 |

示例流程(删除U盘所有数据):

# 1. 以管理员身份打开CMD
# 2. 进入diskpart
C:\> diskpart
# 3. 查看所有磁盘,找到你的U盘(注意大小,不要选错!)
DISKPART> list disk
# 4. 假设U盘是磁盘 1,选中它
DISKPART> select disk 1
# 5. 执行清除命令(警告:此操作不可逆!)
DISKPART> clean
# 6. 退出diskpart
DISKPART> exit

实用技巧与最佳实践

  1. 先复制,再删除(安全第一) 在不确定的情况下,最好的方法是先将文件/文件夹复制到一个安全的地方(如另一块硬盘或移动硬盘),确认无误后再删除原文件。

  2. 使用 echo 进行预演 对于 delrd,可以在命令前加上 echo,让 CMD 只显示将要执行的命令,而不实际执行。

    # 预览将要删除的文件
    echo del C:\temp\*.old
    # 预览将要删除的文件夹
    echo rd /s /q C:\temp\old_folder

    确认命令无误后,去掉 echo 并执行。

  3. 使用 if exist 进行条件判断 在批处理脚本中,可以先判断文件或目录是否存在,再执行删除操作,避免错误。

    if exist "C:\temp\test.txt" (
        del "C:\temp\test.txt"
        echo 文件已删除。
    ) else (
        echo 文件不存在。
    )
  4. *善用通配符 `?`**

    • 代表任意数量的任意字符。
    • 代表一个任意字符。 del *.txt 会删除所有扩展名为 .txt 的文件。

希望这份详细的命令大全能帮助您安全、高效地完成删除操作!再次强调,安全第一,操作前请三思!

分享:
扫描分享到社交APP
上一篇
下一篇