请教各位,我现在遇到的问题是
有从一月到十二月的十二个文件夹,命名就是一月,二月,...,十二月。
每个月的文件夹里面存放着每个月的天数,一天是一个文件。
比如一月文件夹里面,有001.txt,,002.txt,...,031.txt,
二月文件夹里面,有032.txt,033.txt,...,061.txt,
但是可能不完整,比如二月缺少了050.txt,056.txt的数据。
那我要怎么统计出缺失了哪一天的数据呢?
我现在批处理语句只写出统计出每个文件夹或总的文件夹中的txt格式的文件个数。
如下:- echo off
- set num=0
- for /r %2 %%i in (%1) do (
- set /a num+=1
- echo num 当前的值是 %num%
- )
- echo 当前目录下共有 %num% 个txt文件
复制代码
谢谢各位
作者: hanyeguxing 时间: 2011-5-5 15:54
本帖最后由 hanyeguxing 于 2011-5-5 16:51 编辑
061.txt,
二月里怎么会有 061.txt ?最大应该是 059.txt 或 060.txt ...
set Y=2011 用来设置年份- @echo off&setlocal enableDelayedExpansion&set M=1000
- set Y=2011
- for %%a in (一 二 三 四 五 六 七 八 九 十 十一 十二) do set/a K+=1&set #!K!=%%a
- for /l %%a in (1,1,12) do (
- set/a "K=^!(%%a-4)|^!(%%a-6)|^!(%%a-9)|^!(%%a-11)","D=^!(%%a-2)*(28+((^!(Y%%4)&^!^!(Y%%100))|^!(Y%%400)))+K*30+(^!^!(%%a-2)&^!K)*31"
- for /l %%b in (1,1,!D!) do (
- set/a M+=1
- if not exist "!#%%a!月\!M:~-3!.txt" echo;缺少 !#%%a!月\!M:~-3!.txt 即 %Y%年 %%a月 %%b日
- ))
- pause
复制代码
作者: hfg1977 时间: 2011-5-5 16:58
虽然话难听,单不得不说这是很愚蠢的文件分类方式.
作者: hanyeguxing 时间: 2011-5-5 17:12
3# hfg1977
既然知道难听就不要说
作者: hfg1977 时间: 2011-5-5 17:18
谢谢版主提醒,下次不这么说了. ^-^!
作者: Batcher 时间: 2011-5-5 22:42
2月份里面有多少文件需要考虑闰年么?
作者: chenqldiy 时间: 2011-5-6 12:11
2月份里面有多少文件需要考虑闰年么?
Batcher 发表于 2011-5-5 22:42
这问题对这道题目有深度
我刚还在想那年的2月有60~~~~~~~~~~
作者: alameda 时间: 2011-5-26 17:27
当时用批处理实在实现不出来,后来用其他语言实现的。
这个是要考虑闰年的。
而且楼上有人说存储方式很愚蠢,没办法,因为是特定的数据,也是为了方便以后索引和数据处理,所以才这样存储的。
非常感谢楼上各位回复。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |