中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 08:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]慕名而来请教一个文件遍历和日期操作的问题 查看 1,283 回复 5
楼 主 [求助]慕名而来请教一个文件遍历和日期操作的问题 发表于 2006-11-09 00:01 ·  中国 上海 徐汇区 电信
新手上路
积分 8
发帖 3
注册 2006-11-08 06:05
19年会员
UID 69997
性别 男
状态 离线
描述:
文件命名格式: xxxx_log(yyyymmdd).log xxxx_log_arc(yyyymm).zip
参数为日数和月数
1.取得当前日期前N天的日期 (N天为参数1)
2.将log文件夹内文件名中yyyymmdd小于1中取得的日期的log文件压缩到back文件夹

3.取得当前日期前N月的日期 (N月为参数2)
4.将back文件夹内文件名中yyyymm小于3中取得的日期的zip文件删除

这两天也看了点批处理的教程(以前没接触过。。。)
对于我要处理的问题有了些许疑问 希望这里的朋友能够给与解答。。。
对于操作2
我是否得先遍历log文件夹取得文件名一一比较日期,然后符合条件的压缩
是否有其他符号能够表达出某日期之前的意思?

对于操作1
判断闰年有什么好的方法吗

如果在不调用外部方法的前提下 可能实现吗?

望赐教.

[ Last edited by kevinhyx on 2006-11-8 at 11:02 AM ]
2 发表于 2006-11-09 01:07 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
判断闰年如果是判断1901年到2099年的话,可以用被4除清的年是闰年,如果要超过这个范围就要麻烦点
3 发表于 2006-11-09 01:12 ·  中国 上海 徐汇区 电信
新手上路
积分 8
发帖 3
注册 2006-11-08 06:05
19年会员
UID 69997
性别 男
状态 离线
谢谢 我再研究下
4 发表于 2006-11-09 02:21 ·  中国 北京 怀柔区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
Originally posted by 不得不爱 at 2006-11-9 01:07:
判断闰年如果是判断1901年到2099年的话,可以用被4除清的年是闰年,如果要超过这个范围就要麻烦点


版主不用担心会超过这范围,鉴于现在食品中有害添加剂太多、活着压力太大,
出门过路口要看6个方向(其中天上:还要随时观察天上会时不时掉下几个自杀的人),
(其中地下:要小心到处丢失的井盖儿,这黑洞洞的一片万一掉了去了就是开启sformat命令也没戏了:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
5 发表于 2006-11-09 02:32 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by 不得不爱 at 2006-11-9 01:07:
判断闰年如果是判断1901年到2099年的话,可以用被4除清的年是闰年,如果要超过这个范围就要麻烦点

不解,3000年那?
6 发表于 2006-11-09 04:22 ·  中国 上海 徐汇区 电信
新手上路
积分 8
发帖 3
注册 2006-11-08 06:05
19年会员
UID 69997
性别 男
状态 离线
我现在想用以下命令来实现对文件的压缩
但总不对

for /f "delims=" %%i in ('dir /b /a-d /s "%patch%"') do (
zip -j -g c:\csms\log\back\\csms_log_arc(200611).zip c:\csms\log\\%%~nxi
pause)

是不是不能在for循环里进行压缩处理
还是我写的不对。。。
论坛跳转: