中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 19:17
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个产生存款积数问题 查看 817 回复 4
楼 主 一个产生存款积数问题 发表于 2009-09-30 12:34 ·  中国 江苏 泰州 电信
新手上路
积分 10
发帖 10
注册 2008-11-04 11:18
17年会员
UID 129947
性别 男
状态 离线
想根据明细产生每日积数,明细举例如下:

序号,日期,帐号,余额
1,2009-9-30,111111,100.88
2,2009-10-2,111111,118.88
3,2009-10-8,111111,222.22
产生如下结果:
2009-9-30,111111,100.88
2009-10-1,111111,100.88
2009-10-2,111111,118.88
2009-10-3,111111,118.88
2009-10-4,111111,118.88
2009-10-5,111111,118.88
2009-10-6,111111,118.88
2009-10-7,111111,118.88
2009-10-8,111111,222.22
请高手指点!!!

[ Last edited by haiyuey on 2009-9-30 at 13:32 ]
2 发表于 2009-09-30 13:08 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
你把这句话去掉“批处理能做到吗”
呼呼,我日历学的不好,那个2月什么时候29天 什么时候28天……

[ Last edited by 523066680 on 2009-9-30 at 13:12 ]
3 发表于 2009-09-30 17:12 ·  中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
::不考虑跨年问题
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=," %%k in (M.ini)do (
 for /f "tokens=1-3* delims=-," %%a in ("%%l")do (
  if not defined _%%a set _%%a=%%a&call :JugY %%a
  set "_%%a_%%b_%%c=%%d"
  set Last=_%%a_%%b_%%c
 )
)
for %%m in (31 %Feb% 31 30 31 30 31 31 30 31 30 31)do (
 set/a Mth+=1
 for /l %%d in (1 1 %%m)do (
  set SW=_%year%_!Mth!_%%d
  if defined !SW! set Flag=!SW!
  if defined Flag call :SH %year%-!Mth!-%%d !Flag!
  if !SW!==%Last% goto :end
 )
)
:end
pause
goto :eof
:JugY
 set year=%1
 set/a leap="^!(year%%4)^^(^!(year%%100)^^^!(year%%400))",Feb=leap+28
 goto :eof
:SH
 echo %1,!%2!
┌───────┐
├→学习→实践→┤
└───────┘
4 发表于 2009-09-30 17:34 ·  中国 江苏 泰州 电信
新手上路
积分 10
发帖 10
注册 2008-11-04 11:18
17年会员
UID 129947
性别 男
状态 离线
谢谢,但我需要跨年的
5 发表于 2009-09-30 17:42 ·  中国 福建 三明 电信
中级用户
★★
积分 458
发帖 211
注册 2006-07-26 19:42
20年会员
UID 59307
状态 离线
自己改改好了。
┌───────┐
├→学习→实践→┤
└───────┘
论坛跳转: