bat批处理中如何获取前一天日期

网上找了好久在批处理中生成前一日期的代码段

但网上找到的代码对 每个月的1号和每年的1号计算前一日期时,总会报错,然后要加很多的逻辑判断

想了想,可以用.net写个EXE程序,用.net实现获取前一日期的逻辑 ,然后把结果传给bat批处理文件即可

最终成果如下:

 

@echo off
echo del d:\backupdata\*.dmp /Q


getdate.exe getdate -1 yyyyMMdd >getdate.txt
set num=0;
for /f "delims=" %%i in (getdate.txt) do (
set preday=%%i
)
del getdate.txt


echo COPY X:\DBBK\db_%preday%.dmp Z:\backupdata\

其中getdate.exe为自己写的程序,参数说明如下

参数1 操作名称 默认写getdate

参数2 当前日期加(减)天数 例如 取前一天则可以写 -1

参数3 日期显示格式 例如  20170821 应写 yyyyMMdd

当然,如果你想取上一工作日的话,还需要做相关节假日的判断了,这里就不再说明了。

文件下载地址

http://pan.baidu.com/s/1kVFrW0n

 

enjory:p

 

posted @ 2017-08-21 13:38  bigdog  阅读(4407)  评论(0编辑  收藏  举报