[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo Off & setlocal EnableDelayedExpansion
  2. If not Exist "_b.txt" (copy "a.xls" "_b.txt")
  3. For /f "skip=1 tokens=1*" %%a in (_b.txt) do (
  4.        set /a m= n %% 7 + 1, n += 1, DayCount += 1
  5.        set /a _!m!_ += 1, _!m! += %%b
  6.        If not defined ._!m!_ set "._!m!_=%%a"
  7. )
  8. Echo 星期 天数(天) 参观人数(人) 日均参观人数>b.xls
  9. For /f "tokens=1,2 delims==" %%a in ('set _') do (
  10.        set /a x += 1, y = x %% 2
  11.        If !y! equ 1 (
  12.            set /a PeopleCount=%%b, PeopleCounts += %%b
  13.        ) else (
  14.            set /a every=PeopleCount / %%b
  15.            echo !.%%a! %%b !PeopleCount! !every!
  16.            If !PeopleCount! gtr !max! set "max=!PeopleCount!" & set "_day=!.%%a!
  17.        )
  18. )>>b.xls
  19. >>b.xls echo 合计 %DayCount% %PeopleCounts% %_day%
  20. start b.xls & del _b.txt
复制代码

[ 本帖最后由 pusofalse 于 2009-2-23 11:51 编辑 ]
心绪平和,眼藏静谧。

TOP

简化了一点,还是钻了空子。
排序后第一行的“星期        参观人数”恰好排在了最后一行,也正好循环完了~
  1. @echo off & setlocal EnableDelayedExpansion
  2. set "PreDay=一"
  3. echo 星期(人)[tab]天数(天)[tab]参观人数(人)[tab]日均参观人数(人/天)>b.xls
  4. For /f "tokens=1*" %%a in ('sort a.xls') do (
  5.        set /a _%%a +=1, __%%a += %%b
  6.        If "!PreDay!" neq "%%a" (
  7.             set /a every = __!PreDay! / _!PreDay!, Count=__!PreDay!
  8.             set /a All += _!Preday!, CountDays += __!Preday!
  9.             Call echo !PreDay![tab]%%_!PreDay!%%[tab]%%__!PreDay!%%[tab]!every!
  10.             If !count! gtr !max! set "max=!count!" & set "maxDay=!PreDay!"
  11.         )
  12.         set "PreDay=%%a"
  13. )>>b.xls
  14. >>b.xls echo 合计[tab]%All%[tab]%CountDays%[tab]星期%maxDay%为游客最多日
  15. start b.xls
复制代码

[ 本帖最后由 pusofalse 于 2009-2-23 13:01 编辑 ]
1

评分人数

    • batman: 的确有取巧成分PB + 15
心绪平和,眼藏静谧。

TOP

返回列表