繁体   English   中英

批处理文件以将文本文件中的数字求和并将该总值写入文本文件

[英]Batch file to sum numbers from text files and write that total value to text file

我在folder1中有300个文本文件,在folder2中有300个文本文件

以下是一个文本文件的示例内容

india,car,10
uk,car,20
us,car,50

我想对第三列求和并将该总数写入相同的文本文件。 例,

for /f "tokens=3 delims=," %%a in (folder1\textfile1.txt) do set /a total+=%%a
echo %total% >folder1\textfile1.txt 

上面的代码将在textfile1.txt中写入80

请告诉您如何使用批处理文件对所有300个文本文件执行相同的操作。

@echo off
for %%F in (
  folder1\*.txt
  folder2\*.txt
) do (
  set /a total=0
  for /f "usebackq tokens=3 delims=," %%a in ("%%F") do set /a total+=%%a
  echo %total% >"%%F"
)

重要事项:

1)您正在用包含总数的一行替换每个文件的内容(许多行)。 如果要保留原始数据并将总数添加到末尾,则需要使用>>代替:

echo %total% >>"%%F"

2)批处理可计算的最大整数值为2,147,483,647。 每个文件的总和必须小于或等于该数字,否则将失败。 如果您的总数可能超过该值,那么您将不得不使用其他语言。 也许是JScript,VBScript或PowerShell。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM