我想计算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
无法获得正确的值。
答案 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
。