XCopy復制文件夾命令及參數詳解以及xcopy拷貝目錄並排除特定文件


XCOPY是COPY的擴展,可以把指定的目錄連文件和目錄結構一並拷貝,但不能拷貝系統文件;使用時源盤符、源目標路徑名、源文件名至少指定一個;選用/S時對源目錄下及其子目錄下的所有文件進行COPY。除非指定/E參數,否則/S不會拷貝空目錄,若不指定/S參數,則XCOPY只拷貝源目錄本身的文件,而不涉及其下的子目錄;選用/V參數時,對的拷貝的扇區都進行較驗,但速度會降低。   
  
我們不可數典忘祖,該學習的還是要學習,不該忘記的還是不能忘記,尤其是DOS批處理命令,在開發軟件或項目的時候,都離不開這些基本的原始的命令。本文,我們來學習Xcopy的參數及實例  
一、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   
  
  
經測試如果目標文件與源文件相同則不復制。確實一定程度了減少了對硬盤的讀寫。 
--注釋:從c:\websites拷貝到c:\copy目錄(注c:\copy\則不會提示是目錄還是文件)排除c:\Exclude.txt中的  
xcopy c:\websites c:\copy\ /s /e /y /EXCLUDE:c:\Exclude.txt  
  
  
--注釋:不包含以.obj 、 .sdf 、 .pdb 、 .rar 、.config 、結尾的文件,也不包含Common.js文件  
--c:\Exclude.txt  
.obj    
.sdf    
.pdb  
.rar  
.config  
Common.js  
@ECHO OFF   
echo '開始拷貝文件夾及文件?按任意鍵繼續'  
pause  
xcopy c:\websites c:\copy\ /s /e /y /EXCLUDE:c:\Exclude.txt  
pause  

auto_copy.bat文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM