XCOPY 命令格式
最後更新:2018-12-07
來源:互聯網
上載者:User
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]
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 用重新啟動模式複製網路檔案。
命令列開關 /Y 可以預先在 COPYCMD 環境變數中設定。這可能被命令列上的 /-Y
覆蓋。
=========================================
Xcopy
複製檔案和目錄,包括子目錄。
文法
xcopySource [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]] [{/y | /-y}] [/z]
參數
Source
必需。指定要複製的檔案的位置和名稱。該參數必須包含磁碟機或路徑。
Destination
指定要複製的檔案的目標。該參數可以包含磁碟機代號和冒號、目錄名、檔案名稱或者它們的組合。
/w
在開始複製檔案之前將顯示以下訊息並等待您的響應:
Press any key to begin copying file(s)
/p
提示您確認是否要建立每個目標檔案。
/c
忽略錯誤。
/v
在寫入目標檔案時驗證每個檔案,以確保目標檔案與源檔案完全相同。
/q
禁止顯示"xcopy"的訊息。
/f
複製時顯示源檔案名稱和目標檔案名。
/l
顯示要複製的檔案清單。
/g
建立已解密的目標檔案。
/d [:MM-DD-YYYY]
只複製那些在指定日期或指定日期之後更改過的源檔案。如果不包括"MM-DD-YYYY"值,"xcopy"會複製比現有"Destination"檔案新的所有"Source"檔案。該命令列選項使您可以更新更改過的檔案。
/u
只從"Source"複製"Destination"中已有的檔案。
/i
如果"Source"是一個目錄或包含萬用字元,而"Destination"不存在,"xcopy"會假定"destination"指定目錄名並建立一個新目錄。然後,"xcopy"會將所有指定檔案複製到新目錄中。預設情況下,"xcopy"將提示您指定"Destination"是檔案還是目錄。
/s
複製非空的目錄和子目錄。如果省略"/s",則"xcopy"將在單個目錄中工作。
/e
複製所有子目錄,包括空目錄。將"/e"與"/s"和"/t"命令列選項一起使用。
/t
只複製子目錄結構(即分類樹),不複製檔案。要複製空目錄,必須包含"/e"命令列選項。
/k
複製檔案,如果源檔案具有唯讀屬性,則在目標檔案中保留該屬性。預設情況下,"xcopy"將刪除唯讀屬性。
/r
複製唯讀檔案。
/h
複製具有隱藏和系統檔案屬性的檔案。預設情況下,"xcopy"不複製隱藏或系統檔案。
/a
只複製那些具有封存檔案屬性設定的源檔案。"/a"不修改源檔案的封存檔案屬性。有關如何通過使用"attrib"來設定封存檔案屬性的資訊,請參閱"相關主題"。
/m
複製具有封存檔案屬性設定的源檔案。與"/a"不同,"/m"關閉在源中指定的檔案的封存檔案屬性。有關如何通過使用"attrib"來設定封存檔案屬性的資訊,請參閱"相關主題"。
/n
使用 NTFS 短檔案或目錄名棄置站台。將檔案或目錄從 NTFS 卷複製到 FAT 卷或者當目標檔案系統需要 FAT 檔案系統命名規範(即 8.3 字元)時,需要"/n"。目標檔案系統可以是 FAT 或 NTFS。
/o
複製檔案所有權與隨機存取控制清單 (DACL) 資訊。
/x
複製檔案審核設定和系統存取控制清單 (SACL) 資訊(包含"/o")。
/exclude:FileName1[+[ FileName2]][+[FileName3]]
指定包含字串的檔案清單。
/y
禁止提示確認要覆蓋已存在的目標檔案。
/-y
提示您確認要覆蓋已存在的目標檔案。
/z
在可重啟模式中通過網路複製。
/?
在命令提示字元顯示協助。
注釋
使用"/v"
Windows XP 和 Windows Server 2003 家族產品不使用該命令。只為了與現有的 MS-DOS 檔案保持相容性才包含此命令,但是因為其功能是自動實現的,所以在命令列使用時不起作用。
使用"/exclude"
在每個檔案的單獨一行中的列出每個字串。如果列出的任何字串與要複製的檔案的絕對路徑的任何部分匹配,就從複製進程排除該檔案。例如,如果指定字串 "Obj",則會排除 Obj 目錄下的所有檔案。如果指定字串 ".obj",則排除具有 .obj 副檔名的所有檔案。
使用"/z"
如果在複製過程中丟失串連(例如,如果用於已連線的服務器離線),複製過程將在重建立立串連後恢複。"/z"也顯示每個檔案完成的複製操作的百分比。
在 COPYCMD 環境變數中使用"/y"
可在 COPYCMD 環境變數中使用"/y"。在命令列上使用"/-y"可以覆蓋該命令。預設情況下,會提示您覆蓋,除非您從批處理指令碼內運行"copy"。
複製加密的檔案
將加密檔案複製到不支援 EFS 的卷會導致錯誤。應首先解密檔案或將檔案複製到支援 EFS 的卷中。
追加檔案
要追加檔案,請指定單個目標檔案,多個源檔案(使用萬用字元或 file1+file2+file3 格式)。
"Destination"的預設值
如果省略"Destination",則"xcopy"命令將檔案複製到目前的目錄。
指定"Destination"是檔案還是目錄
如果"Destination"不包含現有目錄且不以反斜線 () 結尾,會出現下列訊息:
Does destination specify a file name or directory name on the target (F = file, D = directory)?
如果要將一個或多個檔案複製到一個檔案,請按 F。如果要將一個或多個檔案複製到一個目錄,請按 D。
使用"/i"命令列選項可禁止顯示該訊息,從而導致"xcopy"認定在源是多個檔案或一個目錄的情況下,目標是一個目錄。
使用"xcopy"命令設定"Destination"檔案的存檔屬性
"xcopy"命令建立具有存檔屬性設定的檔案,無論源檔案中是否設定了此屬性。有關檔案屬性和"attrib"的詳細資料,請參閱"相關主題"。
比較"xcopy"和"diskcopy"
如果磁碟的子目錄中包含檔案,要將其複製到具有不同格式的磁碟中,請使用"xcopy"命令,而不要使用"diskcopy"。因為"diskcopy"命令是一個磁軌接一個磁軌地複製磁碟,所以需要源磁碟和目標磁碟的格式必須相同。"xcopy"命令沒有這個要求。通常情況下請使用"xcopy",除非您需要完整的磁碟映像副本。
"xcopy"的結束代碼
要處理"xcopy"返回的結束代碼,請在批次程式的"if"命令列上使用"ErrorLevel"參數。有關使用"if"處理退出碼的批次程式的樣本,請參閱"相關主題"。下表列出每一個結束代碼和描述。
結束代碼 描述
0
檔案複製沒有錯誤。
1
沒有找到要複製的檔案。
2
使用者按 Ctrl+C 終止了"xcopy"。
4
出現了初始化錯誤。沒有足夠的記憶體或磁碟空間,或命令列上輸入了無效的磁碟機名稱或文法。
5
出現了磁碟寫入錯誤。
樣本
要從磁碟機 A 將所有檔案和子目錄(包括所有空的子目錄)複製到磁碟機 B,請鍵入:
xcopy a: b: /s /e
要包含上一樣本中的任何系統或隱藏檔案,請按如下所示添加"/h"命令列選項:
xcopy a: b: /s /e /h
要使用 Rawdata 目錄中 1993 年 12 月 29 日後更改的檔案更新 Reports 目錄中的檔案,請鍵入:
xcopy rawdata reports /d:12-29-1993
要更新上例中 Reports 中存在的所有檔案而不考慮日期,請鍵入:
xcopy rawdata reports /u
要獲得前一個命令要複製的檔案清單而不實際複製檔案,請鍵入:
xcopy rawdata reports /d:12-29-1993 /l > xcopy.out
檔案 Xcopy.out 列出了要複製的所有檔案。
要將 Customer 目錄及其所有子目錄複製到網路磁碟機 H: 上的目錄 \PublicAddress,保留唯讀屬性,並在 H: 上建立新檔案時對您做出提示,請鍵入:
xcopy customer h:publicaddress /s /e /k /p
要發出上一個命令,確保在 Address 目錄不存在時"xcopy"會建立該目錄,並禁止顯示建立新目錄時出現的訊息,請按如下所示添加"/i"命令列選項:
xcopy customer h:publicaddress /s /e /k /p /i
可以建立批次程式執行"xcopy"操作,並且使用"if"批處理命令在發生錯誤時處理結束代碼。例如,以下的批次程式使用了可替換的"xcopy"源和目標參數:
@echo off rem COPYIT.BAT transfers all files in all subdirectories of rem the source drive or directory (%1) to the destinationrem drive or directory (%2)xcopy %1 %2 /s /eif errorlevel 4 goto lowmemory if errorlevel 2 goto abort if errorlevel 0 goto exit :lowmemory echo Insufficient memory to copy files or echo invalid drive or command-line syntax. goto exit:abort echo You pressed CTRL+C to end the copy operation. goto exit :exit
要使用該批次程式將 C:Prgmcode 目錄及其子目錄中的所有檔案複製到磁碟機 B 中,請鍵入:
copyit c:prgmcode b:
該命令解釋程式將用"C:Prgmcode"替換"%1",用"B:"替換"%2",然後執行帶"/e"和"/s"命令列選項的"xcopy"。如果 "xcopy"遇到錯誤,批次程式將讀取退出碼並轉到相應"IF ERRORLEVEL"語句中指示的標籤,然後顯示相應的訊息並退出批次程式。