【问题标题】:How to force delete a folder in batch file?如何强制删除批处理文件中的文件夹?
【发布时间】:2014-11-10 09:51:17
【问题描述】:

如何强制删除批处理文件中的文件夹?

(注意-C:\Anything 是一个文件夹)

我的代码是:

@echo off
del C:\Anything
pause

但它总是在问-

Do you want to delete "C:\Anything" Y/N ?

我希望 C:\Anything 应该删除并要求允许这样做!

请帮助优化我的问题!!!

【问题讨论】:

标签: batch-file


【解决方案1】:

使用rd命令删除文件夹:

rd /s /q "C:\My Folder\"

/s:从选定路径中删除所有文件和文件夹。

/q:抑制任何消息。

The official docs are here.

【讨论】:

  • 考虑到这是一个问答网站,我发现这个结果是因为它正是我要找的,你不觉得告诉人们阅读文档有点傻吗在这里?
  • 如果我看到“该进程无法访问该文件,因为它正被另一个进程使用”怎么办。并且不知道是什么进程持有它?
  • 不适用于某些占用的文件,可以通过“删除”键删除
【解决方案2】:
set backupDir="D:\db_backup"

rmdir /s /q %backupDir%

这里 /q 将消除该确认问题。

【讨论】: