删除Windows中除2个最新文件夹外的所有文件夹

时间:2013-07-08 07:44:27

标签: windows file batch-file

我想删除目录中除2个最近更新的文件夹(最后修改日期)之外的所有文件夹。

我想使用命令行执行此操作。我该怎么做?

以下是显示按上次修改时间排序的文件夹的代码:

dir /ad-h /od

我尝试使用FOR /D命令:

for /d "skip=2 tokens=*" %G in ("dir /ad-h /od") DO echo going to delete %G

但是我收到以下错误消息:

"skip=2 tokens=*" was unexpected at this time.

我该怎么做?

1 个答案:

答案 0 :(得分:2)

for /f "skip=2 delims=" %G in ('dir /B /ad-h /o-d') DO echo going to delete %G

For /f处理来自single-quoted DIR ...

的“输出”行

Delims=更好。 tokens=*将在这里工作,但会抑制前导空格。

/b来取消dir

的标头输出 对于REVERSE日期订单,

/o-d。你想要保留两个跳过的目录,它们在反向日期排序中发生FIRS。

......良好的echo安全措施。