![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 06:27 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]关于RAR的命令和日期命令结合的使用? |
| 可打印版本 904 / 10 |
| 第1楼 xiaoliwind | 发表于 2009-04-25 02:39 |
| 初级用户 发帖 32 积分 43 | |
|
[求助]关于RAR的命令和日期命令结合的使用? 是这样的:
在我的服务器D盘的LogFiles目录下有很多IIS的日志文件.但是每天的日志有3G多,但是如果用RAR压缩后就只有90多M. 所以我就想将每天的日志打包,然后在删除那天的日志. 比如我的D盘是这样的: D:\LogFiles\W3SVC1314520 下面有每天产生的日志文件 ex090420.log ex090421.log ex090422.log 我现在的目的就是在每天早晨8点30分(这个我用任务计划实现),压缩并删除先一天的日志. 批处理如下: rar_iislog.bat @echo off :: 如果今天是25日,那么今天早晨压缩并删除的内容如下 C:\Progra~1\WinRAR\WinRAR.exe a -m1 -df D:\backup\log0424.rar D:\LogFiles\W3SVC1314520\ex090424.log exit 然后我将它用任务计划每天执行. ------------------------------------------------------- 但是大家有没发现,我只能压缩并删除今天.要是26号了呢? 我不能又改成这样的: C:\Progra~1\WinRAR\WinRAR.exe a -m1 -df D:\backup\log0425.rar D:\LogFiles\W3SVC1314520\ex090425.log 我希望是有一个自动获取日期并用他命名的办法? 谢谢大家了. [ Last edited by xiaoliwind on 2009-4-25 at 02:43 ] |
|
| 第2楼 xiaoliwind | 发表于 2009-04-25 02:44 |
| 初级用户 发帖 32 积分 43 | |
|
C:\Progra~1\WinRAR\WinRAR.exe a -m1 -df D:\backup\log0425.rar D:\LogFiles\W3SVC1314520\ex090425.log
这里的两个0425 我想要的是自动根据今天的日期减一来命名. |
|
| 第3楼 xiaoliwind | 发表于 2009-04-25 03:02 |
| 初级用户 发帖 32 积分 43 | |
|
我的电脑的
echo %date% 显示的是: 2009-04-25 星期六 |
|
| 第4楼 xiaoliwind | 发表于 2009-04-25 03:09 |
| 初级用户 发帖 32 积分 43 | |
|
C:\Progra~1\WinRAR\WinRAR.exe a -m1 -df D:\backup\log%date:~5,2%%date:~8,2%.rar D:\LogFiles\W3SVC1314520\ex09%date:~5,2%%date:~8,2%.log
这个也只是压缩并删除今天的,我要的是今天的日期减一怎么办呢? |
|
| 第5楼 xiaoliwind | 发表于 2009-04-25 04:17 |
| 初级用户 发帖 32 积分 43 | |
|
自己已经弄好了,请斑竹结贴.谢谢.
批处理如下: rar_iislog.bat @echo off :: 如果今天是25日,那么今天早晨压缩并删除24的日志 set /a DD=%date:~8,2%-1 C:\Progra~1\WinRAR\WinRAR.exe a -m1 -df D:\backup\log%date:~5,2%%DD%.rar D:\LogFiles\W3SVC1314520\ex09%date:~5,2%%DD%.log exit |
|
| 第6楼 zh159 | 发表于 2009-04-25 05:48 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
如果是2009-05-1就会出问题了,对于日期计算,建议先翻翻论坛
|
|
| 第7楼 xiaoliwind | 发表于 2009-05-02 21:31 |
| 初级用户 发帖 32 积分 43 | |
|
是的,今天早晨来看,批处理出了问题.
2009年5月3日的 出了问题. |
|
| 第8楼 yishanju | 发表于 2009-05-02 22:06 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
用DATEX这个工具
或者调VBS计算日期,代码会少很多。 |
|
| 第9楼 freeants001 | 发表于 2009-05-02 22:37 |
| 中级用户 发帖 244 积分 330 来自 湖北 | |
|
|
| 第10楼 xiaoliwind | 发表于 2009-08-17 22:48 |
| 初级用户 发帖 32 积分 43 | |
|
楼上的,运行后提示 “命令语法不正确"
|
|
| 第11楼 xiaoliwind | 发表于 2009-08-17 23:15 |
| 初级用户 发帖 32 积分 43 | |
|
@echo off&setlocal enabledelayedexpansion
set cd=%date:~2,2%%date:~5,2%%date:~8,2% for /f %%i in ('dir/a/b *.log ^|findstr "ex[0-9][0-9][0-9][0-9][0-9][0-9].log"') do ( set d=%%i set d=!d:~2,6! set e=!d:~2,4! if !d! lss !cd! (这里是命令) ) 成功!谢谢楼上的! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |