我想删除目录中除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.
我该怎么做?
答案 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
/o-d
。你想要保留两个跳过的目录,它们在反向日期排序中发生FIRS。
......良好的echo
安全措施。