批处理 批量求出文本文件行数 空行的处理

我写了一个批处理,功能是批量求出当前文件夹下的文本文件的行数。出现了如下两个问题:

1.不能处理文件名中含有空格的文本文件。

2.若有如下两个文本 a.txt 和b.txt 返回的行数都相同。
**************************
a.txt内容如下
123
123
123
b.txt内容如下
123
123

123
**************************
注:b.txt比a.txt多出两个空行。

怎样才能让a.txt返回3行,而b.txt返回5行?即空行也算作一行。

我的代码如下:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir/b "*.txt"') do (
for /f "delims=" %%k in (%%i) do (
set /a a+=1
)
echo %%i的行数为:!a! >>rows.txt
set /a a=0
)
pause

请批处理大虾指教。
(我的帐户里现在没分了,等处理问题时再加分吧。)

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "*.txt"') do (
set "var=!num!"
if /i not "!var!"=="%%a" echo.!var! !h!
set "num=%%a"
set "h=%%b 行"
)
echo !num! !h!
pause
温馨提示:答案为网友推荐,仅供参考
相似回答