中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 07:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎样判断文件为0字节 查看 1,770 回复 19
楼 主 [求助]怎样判断文件为0字节 发表于 2008-01-15 13:07 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
怎样判断一个文件是空的(0字节)的??

例如此文件: aaa.cab
路 是自己选的
学习 是为了具备解决问题的能力
2 发表于 2008-01-15 13:36 ·  中国 广东 深圳 电信
初级用户
蝙蝠侠是写批处理的人
积分 54
发帖 24
注册 2008-01-04 20:34
18年会员
UID 107683
性别 男
状态 离线
我的方法是搞个函数返回它的大小,如:


@ECHO OFF
SETLOCAL ENABLEEXTENSIONS

CALL :GetFileSize aaa.cab
IF NOT ERRORLEVEL 1 (
ECHO Zero size file
)

ENDLOCAL
GOTO :EOF

:GetFileSize
EXIT /B %~z1

3 发表于 2008-01-15 14:08 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
谢谢,
请问还有别的方法吗?
要简练的
路 是自己选的
学习 是为了具备解决问题的能力
4 发表于 2008-01-15 14:09 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
如果aaa.cab是0字节
就GOTO:error
路 是自己选的
学习 是为了具备解决问题的能力
5 发表于 2008-01-15 14:19 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
for /f %%i in ('dir/b aaa.cab') do echo %%~zi
6 发表于 2008-01-15 14:44 ·  中国 福建 福州 连江县 电信
中级用户
★★
积分 356
发帖 115
注册 2004-07-27 00:00
22年会员
UID 29114
性别 男
状态 离线
@echo off
for %%i in (d:\123.txt) do if %%~zi==0 echo %%~zi
pause
7 发表于 2008-01-15 14:59 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
万分感谢
学习了
路 是自己选的
学习 是为了具备解决问题的能力
8 发表于 2008-01-15 15:07 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
我也来一个
@echo off
call :a aaa.cab
:a
if %~z1 EQU 0 (echo aaa.cab文件是0字节) else (echo aaa.cab文件不是0字节)
pause>nul
简单!简单!再简单!
9 发表于 2008-01-15 15:44 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
谢谢大家了
要是还有方法
请您继续指点
学习了

如果aaa.cab是0字节
就GOTO:error
路 是自己选的
学习 是为了具备解决问题的能力
10 发表于 2008-01-15 18:51 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off
call :a aaa.cab
:a
if %~z1 EQU 0 (GOTO error) else (echo aaa.cab文件不是0字节)
pause>nul
简单!简单!再简单!
11 发表于 2008-01-15 20:10 ·  中国 广东 阳江 电信
初级用户
积分 39
发帖 20
注册 2007-05-14 02:07
19年会员
UID 88451
性别 男
状态 离线
谢谢分享..
12 发表于 2008-01-16 14:30 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
各位高手
请问
%%~zi
是什么意思啊?

谢谢了
路 是自己选的
学习 是为了具备解决问题的能力
13 发表于 2008-01-16 14:31 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
%%~zi
???

%~z1
???
路 是自己选的
学习 是为了具备解决问题的能力
14 发表于 2008-01-16 14:48 ·  中国 江苏 苏州 移动
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
你还说勤学,稳!最基本的帮助文档都不看??
for /?
call /?
拉到最后就看到什么意思了
15 发表于 2008-01-16 16:04 ·  中国 山东 烟台 联通
中级用户
★★
积分 257
发帖 123
注册 2008-01-05 11:08
18年会员
UID 107722
性别 男
来自 烟台
状态 离线
我没有帮助文档的

看没看过我发帖子求帮助文档或者联机丛书?

你有的话,帮忙发一份啊

谢谢
路 是自己选的
学习 是为了具备解决问题的能力
论坛跳转: