中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 05:38
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判断文件大小(求助) 查看 1,783 回复 8
楼 主 如何判断文件大小(求助) 发表于 2006-09-29 21:59 ·  中国 上海 闵行区 电信
初级用户
积分 34
发帖 11
注册 2006-09-16 22:47
19年会员
UID 62796
来自 上海
状态 离线
我要在文件夹下查找一个文件列表,现在我想在每一行的末尾显示该文件大小是否为0.请各位达人指点。谢谢! 我的代码如下:
@echo off
echo ------------------9.1---------------------
if exist Vi????ob.??? (echo Vi????ob.??? FOUND!) else (echo NO Vi????ob.??? )
if exist MA????ob.??? (echo MA????ob.??? FOUND!) else (echo NO MA????ob.??? )

echo ------------------9.2---------------------
if exist FUS????ob.??? (echo FUS????ob.??? FOUND!) else (echo NO FUS????ob.??? )
if exist FHK????ob.??? (echo FHK????ob.??? FOUND!) else (echo NO FHK????ob.??? )

echo ------------------9.4---------------------
if exist fp????do.??? (echo fp????do.??? FOUND!) else (echo NO fp????do.??? )

pause
2 发表于 2006-09-29 22:05 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
dir 不是就能得到文件大小么?
3 发表于 2006-09-29 22:33 ·  中国 上海 闵行区 电信
初级用户
积分 34
发帖 11
注册 2006-09-16 22:47
19年会员
UID 62796
来自 上海
状态 离线
dir是可以,但我要的是判断啊,要获取大小这个参数.
4 发表于 2006-09-29 22:55 ·  中国 上海 闵行区 电信
初级用户
积分 34
发帖 11
注册 2006-09-16 22:47
19年会员
UID 62796
来自 上海
状态 离线
明确要求: 还要在每一行的 某位显示出 符合该行查找条件的,文件大小大于0的文件的个数;分别列出符合这些条件的准确文件名. 谢谢各位拉!!!
5 发表于 2006-09-30 01:26 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
晕~~

你9月27日的提问: “标题: 求助:正则表达式批量修改文件名(高手帮我)”
原链接:( http://www.cn-dos.net/forum/viewthread.php?tid=23424&fpage=1&highlight=%2Bhotldl007


你提出的 “正则表达式批量修改文件名” 这个问题以后,
NaturalJ0、版主、 pengfe等大侠在那个贴子里写了数十行能够帮助你处理问题的代码,
还有关于代码的解释等问题。如果能看懂这些代码或边看边新自试着全做一遍,
我绝对不相信这个判断文件大小的问题你自己做不出来:)

所以,我认为你喜欢关心结果,并不关心这件事是怎么做出来的学习过程~:)

(不好意思,用言偏激之处向你道歉,请别生气~:)

(我的希望是想说:如果遇上了好玩的代码或大侠们写的内容,就亲自试着做一次)
(一边做一边想着还能启发出别的想法来,同时还会解决和学会了处理新的问题)
(这样的话我相信成为高手的时间不会太晚)
(而只要坛友们给出我指定的一个结果,不要自己亲自去想,这样永学不到知识)
6 发表于 2006-09-30 02:15 ·  中国 上海 闵行区 电信
初级用户
积分 34
发帖 11
注册 2006-09-16 22:47
19年会员
UID 62796
来自 上海
状态 离线
谢谢5楼的诚恳指导,非常感谢!
那个帖子的回复我已经看过,只是这期间没有休息日,工作忙,没时间去细细学习,十一期间我一定去从新自己做一遍。
再次感谢大家的指导,这个论坛非常不错!
7 发表于 2006-09-30 02:35 ·  中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218
发帖 485
注册 2006-07-21 21:24
20年会员
UID 58987
来自 湖南.娄底
状态 离线
楼主可以试试下面的代码:


这段代码为在文件后面显示所有文件的大小:

@echo off
for /f "tokens=*" %%i in ('dir /s /a-d /b "要操作的文件夹\*.*"') do (
echo %%i >>file.txt
)
pause




这是按楼主的要求写的代码:

@echo off
for /f "tokens=*" %%i in ('dir /s /a-d /b "要操作的文件夹\*.*"') do (
if "%%~zi"=="0" (
echo %%i >>file.txt
) else (
echo %%i >>file.txt
)
)
pause



[ Last edited by pengfei on 2006-9-30 at 02:49 ]
8 发表于 2006-09-30 06:45 ·  中国 上海 杨浦区 电信
初级用户
积分 34
发帖 11
注册 2006-09-16 22:47
19年会员
UID 62796
来自 上海
状态 离线
多谢七楼的大哥,我是一个dos新手,是不是~z就是表示大小? %%~zk 就表示%%k的大小? 问题愚昧,请耐心教导。 你的方法我已经试过,非常好!
9 发表于 2006-09-30 06:46 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 1,218
发帖 485
注册 2006-07-21 21:24
20年会员
UID 58987
来自 湖南.娄底
状态 离线
%%~zi是扩充到文件大小...
论坛跳转: