标题: [网络连接] (已解决)求助:批处理判断文件夹大小来执行指定的模块 [打印本页]
作者: 大地 时间: 2021-9-30 10:34 标题: (已解决)求助:批处理判断文件夹大小来执行指定的模块
本帖最后由 大地 于 2021-10-2 17:20 编辑
(已解决)求助:批处理判断文件夹大小来执行指定的模块
有个文件夹123,假设123文件夹的容量小于100MB,则执行模块 :ABC,大于100MB,则执行 :YOU,下面的命令哪里错了 ,哪位大神帮我分析一下
重新整理一下如下:- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=3" %%i in ('dir /s /-c "123\"') do (
- set str1=!str!
- set str=%%i
- echo %str1%
- )
- if %str1% LSS 104857600 (goto :ABC) else (goto :YOU)
-
- :ABC
- ren 555.bat 55555555.bat
- pause
- :YOU
- ren 666.bat 66666666.bat
- pause
复制代码
作者: qixiaobin0715 时间: 2021-10-2 14:15
if %str1% LSS 200000 (goto :ABC) else goto :YOU
作者: 大地 时间: 2021-10-2 14:23
回复 2# qixiaobin0715
没成功,两个模块同时执行了 ,不是执行一个,好像哪里还要改一下
作者: leo.liu 时间: 2021-10-2 16:31
- if %str1% LSS 200000 (goto:ABC) else (goto:YOU)
复制代码
你照这个思路试试,我不确定是否与你前后的代码里又没有复制代码
作者: qixiaobin0715 时间: 2021-10-2 16:43
回复 3# 大地
应当是后面goto循环体代码有问题。
作者: qixiaobin0715 时间: 2021-10-2 18:14
回复 1# 大地
这样正确:- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=3" %%i in ('dir /s /-c "123\"') do (
- set str1=!str!
- set str=%%i
- echo %str1%
- )
- if %str1% LSS 104857600 (goto :ABC) else (goto :YOU)
- :ABC
- ren 555.bat 55555555.bat
- goto :eof
- :YOU
- ren 666.bat 66666666.bat
复制代码
作者: qixiaobin0715 时间: 2021-10-2 18:19
你修改后的代码,如果执行:ABC循环段,执行后遇到pause会暂停,但随意敲一下键盘,就会执行后面的:YOU循环段代码。
作者: Fit 时间: 2021-10-3 11:58
dir好像不能获取文件夹的大小,只能获取文件大小
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |