来自CMD的平均文件行数

时间:2013-09-27 10:07:05

标签: windows batch-file cmd

我想计算CMD中特定文件的平均行数。 要查找我得到的一个文件的行数:

findstr /R /N "^" "FILENAME" | find /C ":"

所以我有这样的事情:

setlocal enabledelayedexpansion
set sum = 0
for /l %%x in (1, 1, 10) do (
    set tmpnum = findstr /R /N "^" "file-%%x.csv" | find /C ":"
    set /a sum=sum+tmpnum
)
echo %sum%/10
endlocal

问题是sum始终为0,我相信tmpnum无法获得正确的值。

1 个答案:

答案 0 :(得分:3)

set tmpnum =行是错误的,您不能将变量设置为这样的命令的输出。正确的语法是

for /l %%x in (1, 1, 10) do (
    for /f %%c in ('findstr /R /N "^" "file-%%x.csv" ^| find /C ":"') do (
        set /a sum=sum+%%c
    )
)   

当然echo %sum%/10也不会进行数学计算 - 你需要另外SET /A