3

我想要的功能,rmdir /s但我需要保留指定的目录。rmdir /s除指定目录外,删除所有文件和子目录。

我也尝试过使用del /s,但随后在指定目录中留下了空文件夹。我也需要删除这些文件夹。

关于我如何做到这一点的任何指导?

4

2 回答 2

7

最简单的方法是将目录更改为指定目录并在“。”上调用 rd 命令。目录。喜欢:

cd toYourDirectory (or pushd toYourDirectory)
rd /q /s . 2> nul
  • /q - 确保不会提示您
  • /s - 做子文件夹、文件等..
  • 这 ”。” - 暗示 CURRENT 目录
  • 2>nul - 确保当 rd 命令尝试删除自身时它不会报告错误(这是你想要的)
于 2011-09-01T18:52:36.887 回答
1

<3 for 循环

FOR /F "USEBACKQ tokens=*" %%F IN (`dir /b /a:d /s "C:\top\directory\" ^| FIND /v /i "C:\directory\to\omit"`) DO (
 rmdir /s "%%F"
)

如果您想进行危险打击,请使用带 0.o的/q开关rmdir

因此,可以说,您想执行remdir /son C:\Documents and Settings\Mechaflash\,但是您希望保留.\Mechaflash文件夹(清空)

FOR /F "USEBACKQ tokens=*" %%F IN (`dir /b /a:d /s "C:\Documents and Settings\Mechaflash\" ^| FIND /v /i "C:\Documents and Settings\Mechaflash\"`) DO (
 rmdir /s "%%F"
)
DEL /Q /F "C:\Documents and Settings\Mechaflash\*"
于 2011-08-31T18:29:01.000 回答