利用批处理bat获取系统日期前三天的日期
2014-07-11 09:10
267 查看
在管理服务器的时候经常要根据系统的日期判断上传哪一天的日志文件,例如是周一需要上传上周五的日志,其他日期则上传前一天的日志,日志文件是以日期命名的。这就需要获取前三天的日期,或者前n天的日期。批处理结合vbs可以实现,文件如下。
if "%date:~13%"=="一" (set DaysAgo=3) else (set DaysAgo=1)
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (set DstDate=%%a)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
echo %DstDate%
如果是win8系统可以将if "%date:~13%"改为if "%date:~12%"
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%这个事设置日期的格式
if "%date:~13%"=="一" (set DaysAgo=3) else (set DaysAgo=1)
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (set DstDate=%%a)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
echo %DstDate%
如果是win8系统可以将if "%date:~13%"改为if "%date:~12%"
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%这个事设置日期的格式
相关文章推荐
- 使用批处理bat作为日期系统日期的前三天
- 批处理bat标准化获取当前系统日期的几种方法
- 批处理bat标准化获取当前系统日期的几种方法,补0
- 【日期时间】批处理标准化获取当前系统日期
- bat 获取系统日期,时间,并去掉时间小时前面的空格和时间后面的空格
- 批处理获取昨天的系统时间(当前日期前一天)
- 批处理bat标准化获取当前系统日期的几种方法
- [批处理命令一日一教学 续](25)获取系统日期:date
- 如何利用批处理文件获取前一天的日期
- 在Windows批处理中获取系统日期、时间戳记
- 利用BAT修改系统日期格式
- 如何利用批处理文件获取前一天的日期
- BAT 批处理获取系统时间
- Bat 批处理 获取当前日期时间
- BAT 批处理获取系统时间
- 【日期时间】批处理标准化获取当前系统日期
- 如何利用API获取WINDOWS系统所有用户名和密码(做过的朋友进来看看)
- bat文件 日期返回获取 另附if和for的运用
- 讲解如何利用NT Native API获取NT系统的CPU使用率(支持多核)
- 两例JavaScript 获取当前系统日期和时间