![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 17:18 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 有谁可以帮助我改下这个批处理 |
| 可打印版本 769 / 4 |
| 第1楼 zhouxiaohuanv | 发表于 2007-05-26 17:40 |
| 初级用户 发帖 29 积分 87 | |
|
有谁可以帮助我改下这个批处理 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行 |
|
| 第2楼 slore | 发表于 2007-05-26 18:17 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
你要改什么?
|
|
| 第3楼 lxmxn | 发表于 2007-05-26 18:20 |
| 版主 发帖 4,938 积分 11,386 | |
|
没明白是什么意思。
|
|
| 第4楼 lp1129 | 发表于 2007-05-27 18:25 |
| 初级用户 发帖 92 积分 186 | |
|
好象看明白一点,楼主是想判断文本文件的行数。
出错的原因是没有及时清空变量,在你代码的每一个@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 ] |
|
| 第5楼 zhouxiaohuanv | 发表于 2007-05-28 09:06 |
| 初级用户 发帖 29 积分 87 | |
|
是的想判断文本文件的行数
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |