网上找了好久在批处理中生成前一日期的代码段
但网上找到的代码对 每个月的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