中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 21:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【求助】批处理判断命令 查看 785 回复 6
楼 主 【求助】批处理判断命令 发表于 2007-09-27 17:41
新手上路
积分 8
发帖 3
注册 2007-09-27 17:13
18年会员
UID 98408
性别 女
状态 离线
我是DOS大盲,网上搜到的命令也看不懂,希望能够达到各位大侠的指点
我现在的任务是:
首先对文件a的大小进行判断,只有当此文件大于3M时才运行软件B,否则不运行软件B
2 发表于 2007-09-27 19:16 ·  中国 香港 腾讯云
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
@echo off
for /f "delims=" %%i in ('dir /b /s yourfile') do (
if %%~zi gtr 3145728 (echo ok) else (echo no)
)
pause

改yourfile为指定的文件
3 发表于 2007-09-28 10:13 ·  中国 浙江 宁波 电信
初级用户
积分 87
发帖 42
注册 2007-09-27 19:25
18年会员
UID 98424
性别 男
状态 离线
@echo off
for /f "delims=" %%i in ('dir /b /s yourfile') do (
if %%~zi gtr 3145728 (echo ok) else (echo no)
)
pause

改yourfile为指定的文件

请问if %%~zi gtr 3145728 (echo ok) else (echo no)这是什么意思我就知道if命令有三种格式
IF ERRORLEVEL number command
IF string1==string2 command
IF EXIST filename command
不知道这种用法是什么意思请高手解释一二
4 发表于 2007-09-28 11:21 ·  中国 北京 广电网
初级用户
★★
积分 128
发帖 59
注册 2007-09-15 23:03
18年会员
UID 97496
性别 男
状态 离线
2楼回答很好哦!
%~zi是增强变量,用在这里很合适!!
学习了~~~
5 发表于 2007-09-28 11:24
新手上路
积分 8
发帖 3
注册 2007-09-27 17:13
18年会员
UID 98408
性别 女
状态 离线
多谢,困惑多日的问题见天日了,非常感谢!!
6 发表于 2007-09-28 11:27 ·  中国 北京 广电网
初级用户
★★
积分 128
发帖 59
注册 2007-09-15 23:03
18年会员
UID 97496
性别 男
状态 离线
虽然知道有那个功能,但是能灵活运用可不容易呀
7 发表于 2007-09-28 15:42 ·  中国 浙江 宁波 电信
初级用户
积分 87
发帖 42
注册 2007-09-27 19:25
18年会员
UID 98424
性别 男
状态 离线
谢谢!2楼的,经过帮助文件阅读。已经能够看懂了,呵呵。又学到了不少
论坛跳转: