bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件
c:\a下的一個(gè)文件被別人修改了或者添加了一個(gè)文件!
能否寫(xiě)個(gè)bat,判斷一下c:\a文件夾下的每個(gè)文件的最后修改日期是不是在前兩天內(nèi)!如果是,則復(fù)制到d:\a下的相應(yīng)目錄(要是原來(lái)有,則覆蓋),如果不是,則不復(fù)制了.
目錄復(fù)制:
@echo off
echo y|xcopy c:\a /d /e /r /k d:\a\
pause
復(fù)制文件
echo y | xcopy c:\index2.htm /d /r /k c:\index.htm
echo y 就是覆蓋文件,y確定。
為特別獎(jiǎng)勵(lì)大家給個(gè)多功能的判決原文件大小才復(fù)制的
@echo off
::每5分鐘復(fù)制以下首頁(yè)
for /f %%i in ('dir /b c:\index2.htm') do (
set indexdx=%%~zi
)
if %indexdx% gtr 5120 (
echo y | xcopy c:\index2.htm /d /r /k c:\index.htm
)
由于bat的局限性,不如vbs功能更強(qiáng),這里提供一個(gè)vbs版本的。大家可以到這里看下。
經(jīng)測(cè)試如果目標(biāo)文件與源文件相同則不復(fù)制。確實(shí)一定程度了減少了對(duì)硬盤(pán)的讀寫(xiě)。
問(wèn)題二:批處理如何判斷修改日期復(fù)制文件夾下所有文件和子文件夾
A:復(fù)制當(dāng)前目錄下所有文件及子文件夾到指定文件夾下,如果文件、文件夾同名但修改時(shí)間不同,以最新覆蓋舊的(不詢(xún)問(wèn)是否覆蓋),如果修改時(shí)間相同則不復(fù)制。
例如:復(fù)制C盤(pán)Font文件夾下的所有字體(假設(shè)該文件夾下有子文件夾和其它類(lèi)型的文件)到H盤(pán)的Fonts文件下,如何實(shí)現(xiàn)上述效果。
B:復(fù)制當(dāng)前目錄下所有文件及文件夾到指定文件夾下(提供文件夾名,但不知道盤(pán)符),如果文件、文件夾同名但修改時(shí)間不同,以最新覆蓋舊的(不詢(xún)問(wèn)是否覆蓋),如果修改時(shí)間相同則不復(fù)制。
例如:復(fù)制C盤(pán)Font文件夾下的所有字體(假設(shè)該文件夾下有子文件夾和其它類(lèi)型的文件),復(fù)制到X盤(pán)Fonts文件下(X盤(pán)符不確定),如何實(shí)現(xiàn)上述效果。
xcopy *.ttf %1:\Fonts\*.* /S /D /Y
不要猜結(jié)果,運(yùn)行一下看結(jié)果。
Xcopy參數(shù)介紹
命令格式:XCOPY source [destination] 一堆可選的參數(shù)
參數(shù)介紹
source 指定要復(fù)制的文件。
destination 指定新文件的位置和/或名稱(chēng)。
/A 只復(fù)制有存檔屬性集的文件, 但不改變屬性。
/M 只復(fù)制有存檔屬性集的文件, 并關(guān)閉存檔屬性。
/D:m-d-y 復(fù)制在指定日期或指定日期以后改變的文件。如果沒(méi)有提供日期,只復(fù)制那些源時(shí)間比目標(biāo)時(shí)間新的文件。
/EXCLUDE:file1[+file2][+file3]...
指定含有字符串的文件列表。如果有任何字符串與要被復(fù)制的文件的絕對(duì)路徑相符,那個(gè)文件將不會(huì)得到復(fù)制。
例如,指定如 \obj\ 或 .obj 的字符串會(huì)排除目錄 obj 下面的所有文件或帶有 .obj 擴(kuò)展名的文件。
/P 創(chuàng)建每個(gè)目標(biāo)文件前提示。
/S 復(fù)制目錄和子目錄,除了空的。
/E 復(fù)制目錄和子目錄,包括空的。 與 /S /E 相同。可以用來(lái)修改 /T。
/V 驗(yàn)證每個(gè)新文件。
/W 提示您在復(fù)制前按鍵。
/C 即使有錯(cuò)誤,也繼續(xù)復(fù)制。
/I 如果目標(biāo)不存在,又在復(fù)制一個(gè)以上的文件, 則假定目標(biāo)一定是一個(gè)目錄。
/Q 復(fù)制時(shí)不顯示文件名。
/F 復(fù)制時(shí)顯示完整的源和目標(biāo)文件名。
/L 顯示要復(fù)制的文件。
/G 允許將沒(méi)有經(jīng)過(guò)加密的文件復(fù)制到不支持加密的目標(biāo)。
/H 也復(fù)制隱藏和系統(tǒng)文件。
/R 改寫(xiě)只讀文件。
/T 創(chuàng)建目錄結(jié)構(gòu),但不復(fù)制文件。不包括空目錄或子目錄。/T /E 包括空目錄和子目錄。
/U 只復(fù)制已經(jīng)存在于目標(biāo)中的文件。
/K 復(fù)制屬性。一般的 Xcopy 會(huì)重設(shè)只讀屬性。
/N 用生成的短名復(fù)制。
/O 復(fù)制文件所有權(quán)和 ACL 信息。
/X 復(fù)制文件審核設(shè)置(隱含 /O)。
/Y 禁止提示以確認(rèn)改寫(xiě)一個(gè)現(xiàn)存目標(biāo)文件。
/-Y 導(dǎo)致提示以確認(rèn)改寫(xiě)一個(gè)現(xiàn)存目標(biāo)文件。
/Z 用重新啟動(dòng)模式復(fù)制網(wǎng)絡(luò)文件。
相關(guān)文章
bat批處理清除端口號(hào)解決port?is?already?in?use
本文主要介紹了bat批處理清除端口號(hào)解決port?is?already?in?use,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
如何利用DOS批處理實(shí)現(xiàn)定時(shí)關(guān)機(jī)操作詳解
最近因?yàn)榉N種原因,想著windows系統(tǒng)會(huì)不會(huì)和Linux系統(tǒng)一樣有定時(shí)關(guān)機(jī)的命令(事實(shí)上的確有,我不知道罷了,)于是我問(wèn)了度娘找到了定時(shí)關(guān)機(jī)的DOS命令,無(wú)意間又發(fā)現(xiàn)了另一個(gè)我不懂得知識(shí)點(diǎn)——批處理。利用批處理可以非常簡(jiǎn)單,方便的實(shí)現(xiàn)關(guān)機(jī),定時(shí)關(guān)機(jī)和取消操作。2016-12-12
使用批處理實(shí)現(xiàn)軟件的自動(dòng)安裝以安裝搜狗拼音為例
軟件的自動(dòng)安裝我們可以通過(guò)使用批處理實(shí)現(xiàn),下面以安裝搜狗拼音為例做個(gè)小實(shí)驗(yàn),其他軟件可以參考此例,具體的實(shí)現(xiàn)如下,喜歡的朋友不要錯(cuò)過(guò)2013-11-11
windows?bat批處理判斷電腦服務(wù)是否運(yùn)行的問(wèn)題
這篇文章主要介紹了windows?bat批處理判斷電腦服務(wù)是否運(yùn)行,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
又一篇不錯(cuò)的批處理bat學(xué)習(xí)教程
又一篇不錯(cuò)的批處理bat學(xué)習(xí)教程...2007-02-02
命令行下一種新的添加帳號(hào)的方法(Shell.Users)
用戶(hù)控制面板文件nusrmgr.cpl,發(fā)現(xiàn)調(diào)用的是Shell.Users來(lái)加用戶(hù),它還同時(shí)調(diào)用了 wscript.shell、Shell.Application、Shell.LocalMachine這三個(gè)組件。2010-09-09
Windows2003下批量添加和導(dǎo)出所有ip BAT腳本
這篇文章主要介紹了Windows2003下批量添加和導(dǎo)出所有ip BAT腳本,本文直接給出代碼實(shí)例,需要的朋友可以參考下2015-07-07

