环境描述:
自动备份昨天的日志上传ftp 备份完成后删除本地的日志。
日志的文件格式 : 例如今天是2011年5月23号,那么日志的格式就是 ws20110522log.txt
问题:关键怎样获取前一天的日期部分,其他文件名都是不变的
尝试使用 set fn=%date:~0,4%%date:~5,2%%date:~8,2%
set/a fn=fn-1
但这个代码是有问题的,比如 6月1号的时候,20110601 本来应该是20110531 但结果为 20110600
*************************************************************************
在网上找到一个bat脚本 可以解决不过比较麻烦, 求助一下有没有更简单的方法,或者使用vbs 来写
望高手指点! - set yyyy=%date:~0,4%
- set mm=%date:~5,2%
- set dd=%date:~8,2%
- set /a nd=!dd!-1
- ::如果象3月1日减一天是0天就...
- if !nd!==0 call :dd0
- if !mm!==0 call :mm0
- set yyyymmdd=!yyyy!!mm!!nd!
- echo !yyyymmdd!
- pause
-
- :dd0
- set /a mm=!mm!-1
- for %%a in (1 3 5 7 8 10 12)do set %%add=31
- set /a pddd=!yyyy!*10/4
- set pd2d=!pddd:~-1,1!
- set 2dd=28
- if !pd2d!==0 set 2dd=29
- for %%b in (4 6 9 11)do set %%bdd=30
- set nd=!%mm%dd!
- goto :eof
- :mm0
- set /a yyyy=!yyyy!-1
- set mm=12
- set nd=31
- goto :eof
-
- pause
复制代码
|