给定一个带有一组数字的文件,每行一个,就像这样......
1
2
3
我想要一个批处理文件程序,它将读取文件,将数字相加,然后输出总和。如果是上述输入文件,则输出为6。
这是我现在的批处理代码:
@echo off
SetLocal EnableDelayedExpansion
set L=1
for /F "delims=" %%a in (hurt.log) do (
set line=%%a
echo line !L!: !line!
set /a L=!L!+1
)
pause
set /a "c=%line%+%line%"
echo %c%
pause
我做错了什么?
答案 0 :(得分:0)
我认为您正在尝试输出前面有行号的文件hurt.log
?
line 1: First Message
line 2: Second Message
line 3: More Data
[...]
这是对的吗?
你能从以下工作:
find /N /V "" hurt.log
它的输出如下:
[1]First Message
[2]Second Message
[3]More Data
[...]
更简单。
答案 1 :(得分:0)
假设文件每行只包含一个带符号的32位整数,则可以使用以下代码:
set /A "SUM=0"
for /F "usebackq" %%N in ("hurt.log") do set /A "SUM+=%%N"
echo Sum: %SUM%
如果要计算文件中存在的行数,请使用:
for /F %%N in ('^< "hurt.txt" find /C /V ""') do set /A "COUNT=%%N"
echo %COUNT%