中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 有谁可以帮助我改下这个批处理
作者:
标题: 有谁可以帮助我改下这个批处理 上一主题 | 下一主题
zhouxiaohuanv
初级用户





积分 87
发帖 29
注册 2007-3-31
状态 离线
『楼 主』:  有谁可以帮助我改下这个批处理

W9R.TXT 有8行 H7R.TXT 有0行 W9L.TXT 有6行 H7L.TXT 有5行 2PXH0R.TXT 有0行 2PXH7R.TXT 有7行 2PXH0L.TXT 有0行 2PXH7L.TXT 有8行 setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* W9R.TXT') do set num=%%i echo W9R文件有%num%行>1报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* W9L.TXT') do set num=%%i echo W9L文件有%num%行>2报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* H7R.TXT') do set num=%%i echo H7R文件有%num%行>3报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* H7L.TXT') do set num=%%i echo H7L文件有%num%行>4报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* 2PXH0R.TXT') do set num=%%i echo 2PXH0R文件有%num%行>5报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* 2PXH0L.TXT') do set num=%%i echo 2PXH0L文件有%num%行>6报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* 2PXH7R.TXT') do set num=%%i echo 2PXH7R文件有%num%行>7报告.txt CLS setlocal disableDelayedExpansion @echo off for /f "tokens=1 delims=:" %%i in ('findstr /n .* 2PXH7L.TXT') do set num=%%i echo 2PXH7L文件有%num%行>8报告.txt CLS 得出的结果 1报告.txt 有8行 2报告.txt 有6行 3报告.txt 有6行 4报告.txt 有5行 5报告.txt 有5行 6报告.txt 有5行 7报告.txt 有7行 8报告.txt 有8行


2007-5-26 17:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

你要改什么?


2007-5-26 18:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

没明白是什么意思。


2007-5-26 18:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lp1129
初级用户





积分 186
发帖 92
注册 2007-3-27
状态 离线
『第 4 楼』:  

好象看明白一点,楼主是想判断文本文件的行数。 出错的原因是没有及时清空变量,在你代码的每一个@echo off后加一行 set num= 用来清空变量,否则遇到内容为空的文件就会出错 以下修改简化你的代码为: @echo off for /f "delims=" %%a in ('dir /b *.txt') do ( set num= set name=%%a call :1 ) pause :1 for /f "delims=" %%i in ('findstr /n .* "%name%"') do set /a num=num+1 if %num%#==# set num=0 echo %name%文件共有%num%行>>报告.txt goto :eof 将以上代码保存为*.bat,然后与要判断行数的文件放在一起运行即可 [ Last edited by lp1129 on 2007-5-27 at 06:27 PM ]


2007-5-27 18:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhouxiaohuanv
初级用户





积分 87
发帖 29
注册 2007-3-31
状态 离线
『第 5 楼』:  

是的想判断文本文件的行数


2007-5-28 09:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: