最近由于需要備份一些文件,一般只需要備份當(dāng)前的文件就可以了,聽過xcopy支持這個方法,代碼也比較簡單特分享下,方便需要的朋友
最近由于MESIS數(shù)據(jù)庫自動站資料的事,需要從CMACAST廣播目錄L1下將本省的區(qū)域自動站數(shù)據(jù)文件拷貝出來用于入庫。在實(shí)際操作中碰到幾個問題,特此做備忘錄,以便以后查找。
問題1:MICDB指定的源目錄只要有文件就處理,進(jìn)庫程序本省很耗資源,用PC機(jī)處理要講究效率,最好每次只放入最新文件,以減少重復(fù)處理的情況。
問題2:CMACAST廣播目錄L1文件太多,3天有49萬多個文件,光打開目錄就要讀N分鐘,國家局信息中心技術(shù)人員都是吃糞的。本來用SceondCopy進(jìn)行拷貝功能很強(qiáng)大,可以實(shí)現(xiàn)只拷貝最新文件,但是對這個目錄文件數(shù)太多,最后實(shí)現(xiàn)不了。(NewZFile從SJK拷貝可以用SecondCopy)
為解決以上2個問題,利用XCOPY先將L1目錄的本省自動站文件拷貝出來的,放在D:\AWS\ZFILE里(計劃任務(wù)實(shí)現(xiàn)),再用SCONDCOPY將D:\AWS\ZFILE里的最新文件拷到D:\Program Files\Micdb\tempdata\zfile里供MICDB進(jìn)庫時讀取。
XCOPY使用了 /D:mm-dd-yyyy參數(shù),即只拷貝指定日期之后的文件,那當(dāng)天日期如何生成的呢,使用了%date% 取得系統(tǒng)日期,如果是一般的中文XP系統(tǒng),日期格式是YYYY-MM-DD,所以就用截取字符串的方式重造了美國日期格式。如:%date:~0,4% 表示截取從第0位開始截取長度4個字符從而得到Y(jié)YYY(年),如:%date:~5,5% 表示截取從第5位開始截取長度5個字符從而得到MM-DD(月-日)
為了方便用戶與自己瀏覽腳本之家特將內(nèi)容整理了下,方便大家學(xué)習(xí)
dos中獲取系統(tǒng)時間的命令
代碼如下:
echo %date%
輸出:
讀取系統(tǒng)日期后截取其中的4位年變量(中國日期格式 年-月-日)
set nian=%date:~0,4$
測試
代碼如下:
echo %date:~0,4%
輸出:
讀取系統(tǒng)日期后截取其中的2位月變量
set yue=%date:~5,2%
測試:
代碼如下:
echo %date:~5,2%
輸出:
讀取系統(tǒng)日期后截取其中的2位日變量
set ri=%date:~8,2%
測試:
代碼如下:
echo %date:~8,2%
輸出:
重塑美國日期變量格式 “月-日-年”,只選擇拷貝當(dāng)前日期的文件
代碼如下:
xcopy \\172.22.68.4\sjk\zp\*.* e:\test /d:%yue%-%ri%-%nian%
更多信息請查看IT技術(shù)專欄