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

[网络连接] (已解决)求助:批处理判断文件夹大小来执行指定的模块

[复制链接]
发表于 2021-9-30 10:34:25 | 显示全部楼层 |阅读模式
本帖最后由 大地 于 2021-10-2 17:20 编辑

(已解决)求助:批处理判断文件夹大小来执行指定的模块
有个文件夹123,假设123文件夹的容量小于100MB,则执行模块  :ABC,大于100MB,则执行 :YOU,下面的命令哪里错了 ,哪位大神帮我分析一下

重新整理一下如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=3" %%i in ('dir /s /-c "123"') do (
  3.    set str1=!str!
  4.    set str=%%i
  5.    echo %str1%
  6. )
  7. if %str1% LSS 104857600 (goto :ABC) else (goto :YOU)

  8. :ABC
  9. ren 555.bat 55555555.bat
  10. pause
  11. :YOU
  12. ren 666.bat 66666666.bat
  13. pause
复制代码
发表于 2021-10-2 14:15:45 | 显示全部楼层
if %str1% LSS 200000 (goto :ABC) else goto :YOU
 楼主| 发表于 2021-10-2 14:23:50 | 显示全部楼层
回复 2# qixiaobin0715

没成功,两个模块同时执行了 ,不是执行一个,好像哪里还要改一下
发表于 2021-10-2 16:31:40 | 显示全部楼层
  1. if %str1% LSS 200000 (goto:ABC) else (goto:YOU)
复制代码
你照这个思路试试,我不确定是否与你前后的代码里又没有
  1. goto start
复制代码
发表于 2021-10-2 16:43:19 | 显示全部楼层
回复 3# 大地
应当是后面goto循环体代码有问题。
发表于 2021-10-2 18:14:23 | 显示全部楼层
回复 1# 大地
这样正确:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=3" %%i in ('dir /s /-c "123"') do (
  3.    set str1=!str!
  4.    set str=%%i
  5.    echo %str1%
  6. )
  7. if %str1% LSS 104857600 (goto :ABC) else (goto :YOU)
  8. :ABC
  9. ren 555.bat 55555555.bat
  10. goto :eof
  11. :YOU
  12. ren 666.bat 66666666.bat
复制代码
发表于 2021-10-2 18:19:24 | 显示全部楼层
你修改后的代码,如果执行:ABC循环段,执行后遇到pause会暂停,但随意敲一下键盘,就会执行后面的:YOU循环段代码。
发表于 2021-10-3 11:58:38 | 显示全部楼层
dir好像不能获取文件夹的大小,只能获取文件大小
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 00:37 , Processed in 0.029506 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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