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