1. 程式人生 > 實用技巧 >Windows 複製最新修改檔案 的指令碼

Windows 複製最新修改檔案 的指令碼

xcopy E:\Demo\* E:\Demo20200820  /D:07-03-2020 /F /E /y

/D:mm-dd-yyyy

/F 列印複製過程

/E 遞迴複製目錄和子目錄包括空目錄

/Y 禁止提示

一、Xcopy引數介紹
  命令格式:XCOPY source [destination] 一堆可選的引數
  引數介紹
  source 指定要複製的檔案。
  destination 指定新檔案的位置和/或名稱。
  /A 只複製有存檔屬性集的檔案, 但不改變屬性。
  /M 只複製有存檔屬性集的檔案, 並關閉存檔屬性。
  /D:m-d-y 複製在指定日期或指定日期以後改變的檔案。如果沒有提供日期,只複製那些源時間比目標時間新的檔案。

  /EXCLUDE:file1[+file2][+file3]...
  指定含有字串的檔案列表。如果有任何字串與要被複制的檔案的絕對路徑相符,那個檔案將不會得到複製。
  例如,指定如 \obj\ 或 .obj 的字串會排除目錄 obj 下面的所有檔案或帶有 .obj 副檔名的檔案。
  /P 建立每個目標檔案前提示。
  /S 複製目錄和子目錄,除了空的。
  /E 複製目錄和子目錄,包括空的。 與 /S /E 相同。可以用來修改 /T。
  /V 驗證每個新檔案。
  /W 提示您在複製前按鍵。
  /C 即使有錯誤,也繼續複製。
  /I 如果目標不存在,又在複製一個以上的檔案, 則假定目標一定是一個目錄。
  /Q 複製時不顯示檔名。
  /F 複製時顯示完整的源和目標檔名。
  /L 顯示要複製的檔案。
  /G 允許將沒有經過加密的檔案複製到不支援加密的目標。
  /H 也複製隱藏和系統檔案。
  /R 改寫只讀檔案。
  /T 建立目錄結構,但不復制檔案。不包括空目錄或子目錄。/T /E 包括空目錄和子目錄。
  /U 只複製已經存在於目標中的檔案。
  /K 複製屬性。一般的 Xcopy 會重設只讀屬性。
  /N 用生成的短名複製。
  /O 複製檔案所有權和 ACL 資訊。
  /X 複製檔案稽核設定(隱含 /O)。
  /Y 禁止提示以確認改寫一個現存目標檔案。
  /-Y 導致提示以確認改寫一個現存目標檔案。
  /Z 用重新啟動模式複製網路檔案。

二、Xcopy命令例項介紹

  ①本機複製檔案或資料夾的例項
  Xcopy d:\UpdateFiles e:\123 /s /e /y
  命令解釋:將D盤的UpdateFiles資料夾中包含的所有東西,全部複製到E盤的123資料夾內;/s /e /y 引數說明:在複製檔案的同時也複製空目錄或子目錄,如果目標路徑已經有相同檔案了,使用覆蓋方式而不進行提示。

②在區域網中的應用例項
  Xcopy \\192.168.0.168\UpdateFiles e:\123 /s /e /y
  命令解釋:將192.168.0.168這臺計算機的名稱為UpdateFiles的資料夾內的所有東西,全部複製到本機的e:\123 資料夾;引數說明:在複製檔案的同時也複製空目錄或子目錄,如果目標路徑已經有相同檔案了,使用覆蓋方式而不進行提示。

③結合/d標籤,實現只複製比目標檔案新的檔案
假如現在c:\a資料夾下的所有檔案和d:\a下的檔案相同(修改日期及內容)

c:\a下的一個檔案被別人修改了或者添加了一個檔案!
能否寫個bat,判斷一下c:\a資料夾下的每個檔案的最後修改日期是不是在前兩天內!
如果是,則複製到d:\a下的相應目錄(要是原來有,則覆蓋),如果不是,則不復制了.

複製程式碼程式碼示例: @echo off
echo y|xcopy c:\a /d /e /r /k d:\a\
pause

經測試如果目標檔案與原始檔相同則不復制。
確實一定程度了減少了對硬碟的讀寫。