0
我有一个批处理文件从一个文本文件读取数据并获得这些数据的总和。这里我有浮点数据。所以我创建批处理文件如下:在另一个批处理脚本中调用另一个批处理循环
set LOGFILE=Sample.txt
set /a total=0
setlocal EnableDelayedExpansion
for /f "tokens=1,2* delims=: " %%a in (%LOGFILE%) do (
call :IntAsFP a=%total%
echo %a%
call :IntAsFP b=%%b
echo %b%
set /a total=a+b
echo %total%
call :IntToFP total=%total% 3
echo %total%
)
goto :EOF
:IntAsFP Int=FP
set FP=%2
set %1=%FP:.=%
exit /B
:IntToFP FP=Int digits
set Int=%2
set %1=!Int:~0,-%3!.!Int:~-%3!
exit /B
在这个实际的问题是,当我使用这个没有for循环,这意味着,如果我直接传递价值的第二个参数,它工作正常。当我使用for循环从txt文件中逐一获取数据时,它会失败:它会调用该函数,但不会正确返回值。
任何人都可以帮助我吗?
@AndriyM - 谢谢! – Endoro
非常感谢你Endoro和AndriyM :)它的工作原理。 –