在批處理中 XCOPY 覆蓋
Siddharth Bishnoi
2023年1月30日
2022年7月18日
Xcopy
是一個命令列實用程式,用於將一個或多個檔案或目錄(包括子目錄)從一個位置複製到另一個位置。它類似於 copy
命令,但更強大,因為它可以將整個目錄從一個位置複製到另一個位置。
它足夠強大,甚至可以複製驅動器。Xcopy
是一個快速命令,它可以複製檔案和資料夾,在有或沒有提示的情況下覆蓋現有檔案,根據名稱、路徑或副檔名排除檔案,識別更新的檔案等。
從 Windows 98 開始,幾乎所有 Windows 版本都支援它。它可以作為 DOS 命令在 MS-DOS 中使用 xcopy
。
xcopy
命令的語法是:
xcopy <source> <destination> </parameters>
source
- 要複製的檔案的位置和名稱。它必須包括檔案或目錄的驅動器和路徑。destination
- 要複製的檔案的目的地。它可以是驅動器、目錄或檔名。parameters
-xcopy
命令提供的選項。可以通過執行xcopy /?
檢視它們在命令提示符視窗中。
還有其他幾個類似於 xcopy
的命令,有些甚至比它更強大,例如 robocopy
、rsync
、teracopy
等。但是,我們將在本文中堅持使用 xcopy
。
本教程將教授如何在使用 xcopy
命令複製檔案時在沒有提示的情況下覆蓋目標中的所有檔案。
批量複製新資料夾中的檔案
要將檔案從一個位置複製到另一個位置,請執行以下命令。
xcopy C:\testfolder D:\testfolder /i /s
/s
- 複製要複製的資料夾中的目錄、子目錄和檔案,除非它們為空。/i
- 強制xcopy
假定目標是一個目錄並建立一個新目錄。如果不使用,系統將提示你輸入目標是檔案還是目錄。
要僅複製目錄樹而不復制檔案,即目錄結構,請執行以下命令。
xcopy C:\testfolder D:\testfolder /t /e
/t
- 複製不包括檔案的目錄結構。/e
- 複製所有子目錄,即使它們是空的。它與/t
和/s
選項一起使用。
輸出:
如上所示,只複製目錄而不復制檔案。
通過批量覆蓋現有檔案來複制檔案
要在複製時覆蓋現有檔案,請執行以下命令。
xcopy C:\testfolder D:\testfolder /i /s
如上圖所示,它要求覆蓋現有檔案或所有檔案。當我們在現有檔案上覆制許多檔案時,它會為每個具有相同名稱的檔案顯示提示。
確認每個檔案太耗時。為避免這種情況,我們需要使用 /y
選項和上述命令。
批量無提示覆蓋所有檔案複製檔案
執行以下命令複製現有檔案而不提示覆蓋現有檔案。
xcopy C:\testfolder D:\testfolder /i /s /y
/y
- 避擴音示確認是否覆蓋目的地的現有檔案。
通過網路批量複製檔案
xcopy C:\Videos "\\server\media\videos" /s /i /z /w
/s
- 複製要複製的資料夾中的目錄、子目錄和檔案,除非它們為空。/i
- 強制xcopy
假定目標是一個目錄並建立一個新目錄。如果不使用,系統將提示你輸入目標是檔案還是目錄。/z
- 在重新啟動模式下通過網路複製,即,如果在複製過程中連線丟失,則在連線恢復時恢復。它還顯示完成百分比。/w
- 顯示以下訊息:按任意鍵開始複製檔案
。它等待你的響應以開始複製過程。
因此,我們討論瞭如何在複製許多檔案時覆蓋所有現有檔案而不顯示提示,即它確認覆蓋所有檔案而不顯示每個檔案的提示。
xcopy
命令提供了許多其他選項;你可以通過執行 xcopy /?
來檢查它們在命令提示符中。