溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件

發(fā)布時(shí)間:2021-08-26 17:47:05 來源:億速云 閱讀:387 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“怎么用bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件”,在日常操作中,相信很多人在怎么用bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

問題一:假如現(xiàn)在c:\a文件夾下的所有文件和d:\a下的文件相同(修改日期及內(nèi)容)

c:\a下的一個(gè)文件被別人修改了或者添加了一個(gè)文件!
能否寫個(gè)bat,判斷一下c:\a文件夾下的每個(gè)文件的最后修改日期是不是在前兩天內(nèi)!如果是,則復(fù)制到d:\a下的相應(yīng)目錄(要是原來有,則覆蓋),如果不是,則不復(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ù)制以下首頁
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)測試如果目標(biāo)文件與源文件相同則不復(fù)制。確實(shí)一定程度了減少了對硬盤的讀寫。

問題二:批處理如何判斷修改日期復(fù)制文件夾下所有文件和子文件夾

A:復(fù)制當(dāng)前目錄下所有文件及子文件夾到指定文件夾下,如果文件、文件夾同名但修改時(shí)間不同,以最新覆蓋舊的(不詢問是否覆蓋),如果修改時(shí)間相同則不復(fù)制。
例如:復(fù)制C盤Font文件夾下的所有字體(假設(shè)該文件夾下有子文件夾和其它類型的文件)到H盤的Fonts文件下,如何實(shí)現(xiàn)上述效果。

B:復(fù)制當(dāng)前目錄下所有文件及文件夾到指定文件夾下(提供文件夾名,但不知道盤符),如果文件、文件夾同名但修改時(shí)間不同,以最新覆蓋舊的(不詢問是否覆蓋),如果修改時(shí)間相同則不復(fù)制。
例如:復(fù)制C盤Font文件夾下的所有字體(假設(shè)該文件夾下有子文件夾和其它類型的文件),復(fù)制到X盤Fonts文件下(X盤符不確定),如何實(shí)現(xiàn)上述效果。

代碼如下:


xcopy *.ttf %1:\Fonts\*.* /S /D /Y



不要猜結(jié)果,運(yùn)行一下看結(jié)果。

Xcopy參數(shù)介紹

  命令格式:XCOPY source [destination] 一堆可選的參數(shù)
  參數(shù)介紹
  source 指定要復(fù)制的文件。
  destination 指定新文件的位置和/或名稱。
  /A 只復(fù)制有存檔屬性集的文件, 但不改變屬性。
  /M 只復(fù)制有存檔屬性集的文件, 并關(guān)閉存檔屬性。
  /D:m-d-y 復(fù)制在指定日期或指定日期以后改變的文件。如果沒有提供日期,只復(fù)制那些源時(shí)間比目標(biāo)時(shí)間新的文件。
  /EXCLUDE:file1[+file2][+file3]...
  指定含有字符串的文件列表。如果有任何字符串與要被復(fù)制的文件的絕對路徑相符,那個(gè)文件將不會(huì)得到復(fù)制。
  例如,指定如 \obj\ 或 .obj 的字符串會(huì)排除目錄 obj 下面的所有文件或帶有 .obj 擴(kuò)展名的文件。
  /P 創(chuàng)建每個(gè)目標(biāo)文件前提示。
  /S 復(fù)制目錄和子目錄,除了空的。
  /E 復(fù)制目錄和子目錄,包括空的。 與 /S /E 相同。可以用來修改 /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 允許將沒有經(jīng)過加密的文件復(fù)制到不支持加密的目標(biāo)。
  /H 也復(fù)制隱藏和系統(tǒng)文件。
  /R 改寫只讀文件。
  /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)改寫一個(gè)現(xiàn)存目標(biāo)文件。
  /-Y 導(dǎo)致提示以確認(rèn)改寫一個(gè)現(xiàn)存目標(biāo)文件。
  /Z 用重新啟動(dòng)模式復(fù)制網(wǎng)絡(luò)文件。

到此,關(guān)于“怎么用bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

bat
AI