CMD 常用命令74 条

rd 删除目录

删除目录(rmdir 的缩写):默认只能删空目录,/s 才递归删除整棵目录树,/q 静默不确认。

Windows 运维速查系统更新于 2026-10-13

rd 是什么

rd 是 Windows CMD 里删除目录的命令,rmdir 为同义写法。默认情况下它只能删空目录,目录内有文件就报错退出;必须加 /s 才会递归删除整棵目录树,再加 /q 跳过逐项确认。和 del 的分工是:del 删文件,rd 删目录。删除不经过回收站,是 CMD 里最需要小心的命令之一。

基本信息

适用平台Windows CMD(cmd.exe,Win7 至 Win11 及 Server 系列)
同义命令rmdir
语法rd [/s [/q]] 路径
关键参数/s 删除目录及其中全部文件;/q 安静模式不询问;两者常连用
不可恢复rd /s 不进入回收站,删除即永久丢失
占用检查openfiles /query 可查看被进程打开的文件

典型使用场景

  • 清理构建产物目录,每次发布前把 dist 整棵树重置
  • 配合计划任务按日期清理过期备份目录,保留最近若干天的归档
  • 机器移交或下线前清理测试数据与临时目录
  • 删除误建的深层目录结构,逐层点删远不如一条命令
  • 卸载程序后清理残留目录,但必须确认没有进程占用

常用示例

常用示例
REM 只删空目录,非空会报错退出
rd D:\EmptyDir
REM 递归删除整棵目录树,不进回收站
rd /s /q D:\Backup\2025old
REM 变量拼路径时必须把最终值打印出来再执行
set TGT=D:\Backup\2025old
echo 即将删除: %TGT%
pause
rd /s /q "%TGT%"
REM 判断删除结果
if errorlevel 1 echo 删除失败,请检查占用与权限

提示信息与含义

提示含义处理
目录不是空的目录内还有文件或子目录确认后加 /s,或先清空内容再删
系统找不到指定的文件路径不存在或拼错用 dir 核对真实路径
拒绝访问文件被进程占用或权限不足关闭占用程序,或以管理员身份运行
是否确认 (Y/N)未加 /q 时对整棵树逐项询问脚本中加 /q;交互操作核对清单后再按 Y
rd /s /q 是直接删除,不经过回收站。生产环境删除前先用 openfiles 或资源监视器确认没有进程占用,条件允许时先改名放置一天,确认无业务报错再真正删除。
目录被句柄占用时 rd /s 会删到一半失败,留下半删结构且难以判断剩余内容,重试还可能报不同错误。排查占用可以在资源监视器的 CPU 标签页按句柄搜索路径。

易错点

  • 用变量拼路径时变量为空会让命令退化成删除当前目录或根路径,脚本里必须先 if defined 判断再拼
  • rd /s 中途遇到占用会留下半删除状态,业务目录先改名再删能避免不可逆后果
  • /q 只影响询问,不会降低误删风险,路径写错一个字符就是不可恢复的丢失
  • 删非空目录忘记加 /s 会直接报错退出,批处理里若不判断错误码,后续步骤会带着旧目录继续跑
  • 在共享目录上删除正在被他人访问的子目录,可能中断对方业务,删除前要确认使用方

数据来源与参考

  • Microsoft Learn:rd 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌