标题: [文本处理] 批处理或VBS怎样获取前一天的日期? [打印本页]
作者: wqshomebat 时间: 2011-5-27 11:50 标题: 批处理或VBS怎样获取前一天的日期?
环境描述:
自动备份昨天的日志上传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
复制代码
作者: batman 时间: 2011-5-27 12:00
- Dim yestaday
- yestaday = DateAdd("d", -1, Date)
- MsgBox yestaday
复制代码
作者: Batcher 时间: 2011-5-27 12:12
批处理获取指定天数之前的日期
http://bbs.bathome.net/thread-3330-1-1.html
作者: slore 时间: 2011-5-27 12:24
Dim yestaday
yestaday = Date - 1
MsgBox yestaday
作者: batman 时间: 2011-5-27 12:31
新方案:- @echo off
- if "%1" neq "" goto next
- mshta vbscript:createobject("wscript.shell").run("%~fs0 "^&date-1,1,0)(window.close)
- goto :eof
- :next
- echo 昨天的日期为:%1
- pause>nul
复制代码
作者: CrLf 时间: 2011-5-27 13:42
如果mshta能用echo多好
作者: wqshomebat 时间: 2011-5-27 14:11
2# batman
非常感谢高手指点
但是这个输出的格式不行, 2011/5/26 我的文件的格式是ws20110526log.txt ,请问这个格式可以改么?
作者: batman 时间: 2011-5-27 15:07
- @echo off
- if "%1" neq "" goto next
- mshta vbscript:createobject("wscript.shell").run("%~fs0 "^&date-1,1,0)(window.close)
- goto :eof
- :next
- for /f "tokens=1-3 delims=/-\:" %%a in ("%1") do set "y=%%a"&set "m=0%%b"&set "d=0%%c"
- set "str=%y%%m:~-2%%d:~-2%"
- echo 昨天的日期为:%str%
- pause>nul
复制代码
作者: wqshomebat 时间: 2011-5-28 22:47
非常感谢指点
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |