第一行被跳过。 不知道为什么。 文件中的数据应读取187.55、109.48、612.82、1028.81的值,总计为1,938.66
C:\ dos> try6testf.csv
派运营商
“ htot的值 - ”
“ e-的值 - ”612.82
派运营商
“ htot的值 - ”109“值 - ”1028.81
派运营商
“ htot的值 - ”612
我不太精通DOS批处理脚本,因此,如果这很明显,我现在就道歉。
首先,
set /P line=
:ProcessFile
next,
set /A htot=+%%e
没有做你的想法。 +
符号对于您需要的东西不正确,并且%%e
a在启用延迟扩展的部分外分配了用set命令分配的变量的变化,其内部内部的变化可见以进行评估。
这与批处理评估顺序有关,该顺序在执行之前对每个语句的快照。正确的代码:
@echo off
setlocal EnableDelayedExpansion
set "grandtotal=0"
rem