我想从一个目录中删除除 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.
我该怎么做?
最佳答案
for /f "skip=2 delims=" %G in ('dir /B /ad-h /o-d "d:\your path" ') DO echo going to delete "%G"
For/f
处理来自 single-quoted
DIR 的“输出”行...
Delims=
更好。 tokens=*
将在此处工作,但会取消前导空格。
/b
抑制 dir
/o-d
用于 REVERSE-date 顺序。您想要保留两个跳过的目录,它们以反向日期排序出现在 FIRS 中。
...良好的echo
安全措施。
关于windows - 删除 Windows 中除 2 个最新文件夹之外的所有文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17521372/