找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29430|回复: 5

[文本处理] 【已解决】批处理,用于删除某目录下的最新的三个目录外的其它目录

[复制链接]
发表于 2017-8-24 17:13:55 | 显示全部楼层 |阅读模式
不明白为什么会报这个错,请大家帮忙看看
  1. @echo off &setlocal enabledelayedexpansion
  2. path = "C:\Users\Desktop\0824"
  3. cd %path%
  4. set /a n = 0
  5. for /d %%i in ("%path%\*") do (
  6.   set /a n=!n!+1
  7. )
  8. set max=3
  9. set count=0
  10. if !n! GTR 3 (
  11. for /d %%a in ('dir  %path%\* /ad /o-d') do (
  12.     set /a count = !count!+1
  13.         if !count! GTR %max% ( del /q %%a )  
  14.       )  ) else (          
  15. exit  )
  16. pause
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2017-8-24 20:17:12 | 显示全部楼层
所有的赋值语句,把等号左右两边的空格删掉。
 楼主| 发表于 2017-8-24 20:36:35 | 显示全部楼层
回复 2# Batcher
嗯,是应该把等号两边的空格删掉,之前也吃过亏了,还是没改掉习惯性打空格。。。
不过这个报错还是没有解决,报错显示是这个for语句里面有问题for /d %%a in ('dir  %path%\* /ad /o-d') ,我在cmd单独执行dir  %path%\* /ad /o-d这一句是可以的,所以就搞不明白了,还请赐教
发表于 2017-8-24 20:58:08 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "mypath=C:\Users\Desktop\0824"
  4. cd "%mypath%"
  5. if errorlevel 1 (
  6.     echo 文件夹不存在 %mypath%
  7.     goto :End
  8. )

  9. set n=0
  10. for /d %%i in ("%mypath%\*") do (
  11.     set /a n=!n!+1
  12. )
  13. set max=3
  14. set count=0
  15. if !n! GTR 3 (
  16.     for /f "delims=" %%a in ('dir /b /ad /o-d "%mypath%"') do (
  17.         set /a count=!count!+1
  18.         if !count! GTR %max% (
  19.             REM 如果显示结果没问题,把下面的 echo 去掉再执行
  20.             echo rd /s /q "%%a"
  21.         )
  22.     )
  23. )

  24. :End
  25. pause
复制代码
发表于 2017-8-24 21:00:38 | 显示全部楼层
回复 3# tdmax3


for /d + Command Set 没有这样的语法,建议阅读 for 命令教程:
http://bbs.bathome.net/thread-31727-1-1.html

另外,删除文件夹的命令是 rd,删除文件的命令是 del
 楼主| 发表于 2017-8-25 10:42:30 | 显示全部楼层
回复 5# Batcher

非常感谢你的帮助,我明白了,是不是在使用for /d 的时候in 里面是不能接命令的, 因为一直在想着是要对文件夹进行操作,所以执着于for /d ,并自行进行了扩展;

还有删除文件和删除文件夹命令不同,感谢帮忙指出问题,我的基础太差了,会继续学习的,再次表示感谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 23:34 , Processed in 0.019508 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表