首页 文章

来自CMD的平均文件行数

提问于
浏览
1

我想计算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 回答

  • 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 .

相关问题