Board logo

标题: 有谁可以帮助我改下这个批处理 [打印本页]

作者: zhouxiaohuanv     时间: 2007-5-26 17:40    标题: 有谁可以帮助我改下这个批处理

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行
作者: slore     时间: 2007-5-26 18:17
你要改什么?
作者: lxmxn     时间: 2007-5-26 18:20
没明白是什么意思。
作者: lp1129     时间: 2007-5-27 18:25
好象看明白一点,楼主是想判断文本文件的行数。

出错的原因是没有及时清空变量,在你代码的每一个@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 ]
作者: zhouxiaohuanv     时间: 2007-5-28 09:06
是的想判断文本文件的行数