網上找了好久在批處理中生成前一日期的代碼段
但網上找到的代碼對 每個月的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