如何获取批处理文件以在单独的txt文件中添加数字?

时间:2017-04-04 14:28:25

标签: batch-file cmd

给定一个带有一组数字的文件,每行一个,就像这样......

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

我做错了什么?

2 个答案:

答案 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%