查看: 2985|回复: 12
收起左侧

[软件] 求助生成“字典”

[复制链接]
JohnChu
发表于 2012-12-15 15:54:08 | 显示全部楼层 |阅读模式
我需要生成一串列表,内容是
20100101
20100102
20100103
......
20100130
20100131
20100201
这样子,就是说日期作为内容
并把每一行放到每一个文件中
就是有20100101.txt
内容是:
XXXXX文件
日期:20100101
收入:XXX元
20100102.txt
内容是:
XXXXX文件
日期:20100102
收入:XXX元
有没有办法?
谢谢
paulxy
发表于 2012-12-15 17:33:32 | 显示全部楼层
自己编写一个小程序来实现把,本人编程水平很烂,帮不上忙
sunjushi
发表于 2012-12-15 20:07:38 | 显示全部楼层
"XXX"的内容是要你自己输入还是也是要直接生成?
JohnChu
 楼主| 发表于 2012-12-15 20:44:46 来自手机 | 显示全部楼层
sunjushi 发表于 2012-12-15 20:07 "XXX"的内容是要你自己输入还是也是要直接生成?

直接生成,并且都是一样的
JohnChu
 楼主| 发表于 2012-12-15 20:47:11 来自手机 | 显示全部楼层
sunjushi 发表于 2012-12-15 20:07 "XXX"的内容是要你自己输入还是也是要直接生成?

20100101.txt
内容是:
统计文件
日期:20100101
收入:50元
20100102.txt
内容是:
统计文件
日期:20100102
收入:50元
sunjushi
发表于 2012-12-15 20:54:32 | 显示全部楼层
JohnChu 发表于 2012-12-15 20:44
直接生成,并且都是一样的

这样的话,如果在win下面直接用bat批处理就可以生成,如果linux下面嘛,用shell就可以
JohnChu
 楼主| 发表于 2012-12-15 21:42:39 | 显示全部楼层
sunjushi 发表于 2012-12-15 20:54
这样的话,如果在win下面直接用bat批处理就可以生成,如果linux下面嘛,用shell就可以

能否具体一些?
谢谢
sunjushi
发表于 2012-12-15 21:57:13 | 显示全部楼层
本帖最后由 sunjushi 于 2012-12-15 21:58 编辑
JohnChu 发表于 2012-12-15 21:42
能否具体一些?
谢谢


你的意思就是从20100101开始到目前,然后生成N个txt文件,而每个文件内容都是:
  1. 统计文件
  2. 日期:20100102
  3. 收入:50元
复制代码
而且以后还要继续生成,只是文件名字和内容中的日期不一样而已。
我这样理解对吗?
JohnChu
 楼主| 发表于 2012-12-15 22:29:32 | 显示全部楼层
sunjushi 发表于 2012-12-15 21:57
你的意思就是从20100101开始到目前,然后生成N个txt文件,而每个文件内容都是:而且以后还要继续生成, ...

对的
sunjushi
发表于 2012-12-16 01:15:52 | 显示全部楼层
本帖最后由 sunjushi 于 2012-12-16 23:35 编辑
JohnChu 发表于 2012-12-15 22:29
对的


代码如下:
  1. @echo off & setlocal enabledelayedexpansion

  2. set /p ymds=请输入起始日期(yyyymmdd):

  3. set /p ymde=请输入截止日期(yyyymmdd):

  4. (set y=!ymds:~0,4!)&(set m=!ymds:~4,2!)&(set d=!ymds:~6,2!)

  5. set /a "y=1!y!-10000, m=1!m!-100, d=1!d!-100"

  6. echo 起始日期为:!y!-!m!-!d!

  7. set /a "leap=(^!(y%%4)&^!^!(y%%100))|^!(y%%400)"

  8. set /a "f=^!(m-2), s=^!(m-4)|^!(m-6)|^!(m-9)|^!(m-11)"

  9. set /a "dmax=f*(28+leap)+s*30+(^!f&^!s)*31"

  10. (set _y=000!y!)&(set _y=!_y:~-4!)&(set _m=0!m!)&(set _m=!_m:~-2!)

  11. mkdir D:\shuju\

  12. :loop

  13. (set _d=0!d!)&(set _d=!_d:~-2!)

  14. if "!_y!!_m!!_d!" leq "!ymde!" (echo !_y!!_m!!_d!) else goto :break

  15. set /a d+=1

  16. if !d! gtr !dmax! (

  17.         (set d=1)&(set /a m+=1)

  18.         if !m! gtr 12 (

  19.                 (set m=1)&(set /a y+=1)&(set _y=000!y!)&(set _y=!_y:~-4!)

  20.                 set /a "leap=(^!(y%%4)&^!^!(y%%100))|^!(y%%400)"

  21.         )

  22.         set /a "f=^!(m-2), s=^!(m-4)|^!(m-6)|^!(m-9)|^!(m-11)"

  23.         set /a "dmax=f*(28+leap)+s*30+(^!f&^!s)*31"

  24.         (set _m=0!m!)&(set _m=!_m:~-2!)

  25. )

  26. @echo 统计文件>>D:\shuju\!_y!!_m!!_d!.txt
  27. @echo 日期:!_y!!_m!!_d!>>D:\shuju\!_y!!_m!!_d!.txt
  28. @echo 收入:50元>>D:\shuju\!_y!!_m!!_d!.txt
  29. goto :loop

  30. :break

  31. pause
复制代码
把这个复制下来保存为“xxx.bat”文件。

代码功能:在D盘目录下建立一个名为“shuju”的文件夹,然后在里面生成了你需要的文件,可以生成任意日期内的数据。(日期范围是自己输入的)

ps:本代码日期列表功能是参考网上的,本机测试过没问题

后来又测试,好像有点问题,再附上一个MFC写的吧

下载地址http://pan.baidu.com/share/link?shareid=176581&uk=2333714858

评分

参与人数 1经验 +5 收起 理由
yloko + 5 感谢解答: )

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-17 00:37 , Processed in 0.128854 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表