[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 根据文件夹大小批量删除的批处理运行出错,请帮忙看一下

本帖最后由 chaoyuang 于 2012-1-10 00:45 编辑

目标:1、win7,彻底删除D:\a下所有小于10M的文件夹;2、清除后计算D盘的剩余容量是否大于E:\a文件夹的大小(E:\a文件夹大小基本在320GB);如果是复制E:\a所有文件及文件夹到在D:\a(同名也直接覆盖,不要提示),复制完成后自动关机;如果容量不足,请提示“D盘容量不足,请清理”显示时间10秒,然后自动关机。
批处理:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set/a size=1024*1024*10
  4. for /f "delims=" %%i in ('dir/ad/b d:\a') do (
  5. set m=0,n=0
  6. for /f "delims=" %%a in ('dir /-c/w/s %%i') do (
  7. set /a n+=1
  8. echo %%a|findstr "所列文件总数" >nul &&set /a m=!n!&&set /a m=!m!+1
  9. if !n!==!m! for /f "tokens=3" %%b in ('echo %%a') do if %%b lss !size! rd/s/q %%i))
  10. set m=0,n=0
  11. for /f "delims=" %%c in ('dir /-c/w/s e:\a') do (
  12. set /a n+=1
  13. echo %%a|findstr "所列文件总数" >nul &&set /a m=!n!&&set /a m=!m!+1
  14. if !n!==!m! for /f "tokens=3" %%d in ('echo %%c') do set easize=%%d)
  15. set m=0,n=0
  16. for /f "delims=" %%e in ('dir /-c/w d:\') do (
  17. set /a n+=1
  18. echo %%a|findstr "所列文件总数" >nul &&set /a m=!n!&&set /a m=!m!+2
  19. if !n!==!m! for /f "tokens=3" %%f in ('echo %%e') do set dssize=%%f)
  20. if !dssize! gtr !easize! (xcopy /e/h/i/q/y e:\a d:\a&&shutdown /f /s /t 3) else (
  21. echo D盘容量不足,请清理
  22. ping 127.1 -n 11 >nul
  23. shutdown /f /s /t 0)
复制代码
运行出错,不知错哪儿请帮忙看看,这段代码是huaqiaochy写的。

本帖最后由 chaoyuang 于 2012-1-9 23:21 编辑

不好意思,新来报到,有不规则的请帮忙!!

TOP

报错信息是什么?

TOP

本帖最后由 chaoyuang 于 2012-1-10 11:27 编辑

系统找不到文件。

TOP

把 @echo off 删掉,执行过程贴出来看看。

TOP

返回列表