【batch】批處理中Copy與Xcopy的區別
阿新 • • 發佈:2019-01-06
###Date: 2017/6/20
###Author: Soaringlee
1):copy不能在有子目錄存在的檔案中拷貝檔案的同時重新命名此檔名(注:這裡C:為根目錄,bat為子目錄),而xcopy能,不過會出現提示,當然你可以加引數而不使它提示。
C:\>copy c:\bat\hai.bat d:\bat\hello.bat
提示:系統找不到指定的路徑。
已複製 0 個檔案。
但你可以用
C:\>copy c:\hai.bat d:\hell.bat 已複製 1 個檔案 C:\>xcopy c:\bat\hai.bat d:\bat\hello.bat 目標 D:\bat\hello.bat 是檔名 還是目錄名 (F = 檔案,D = 目錄)? f C:\bat\hai.bat 複製了 1 個檔案
2):copy命令能合併兩個檔案,而xcopy不能
將檔案1.txt和2.txt合併為3.txt
copy /b c:\1.txt+2.txt c:\3.txt
命令格式:copy /b 檔案1+檔案2+......檔案N 合併後的檔名
命令講解:使用“+”將多個相同或不同格式的檔案合併為一個檔案。
小提示:
1.在尾部隱藏了文字資料的圖片檔案,在使用了其他檔案編輯器並儲存後,隱藏的文字資料有可能丟失。
2.MP3檔案在使用此方法連線後,就可以實現連續播放。
3.合成圖片/歌曲這樣的二進位制檔案必須使用/b引數(b代表Binaty,二進位制),否則將會失敗;另一個合併引數是/a(ASCII,文字檔案),只能用於純文字的合併。兩引數不能同時使用,二進位制方式可以合併文字檔案和二進位制檔案,而文字方式用於純文字的合併。
3):C:\>copy c:\bat\hai d:\hello
命令解釋:將C盤bat目錄下所有檔案複製到D盤hello目錄下。你如果要選擇指定定型別的檔案(如txt檔案)到D:\hello下的,則可以用C:\>copy c:\bat\hai\*.txt d:\hello
注:不會複製子目錄下的檔案及資料夾。D盤hello目錄必須存在
C:\>xcopy c:\bat\hai d:\hello /e/h
命令解釋:將C盤bat資料夾拷進D盤hello資料夾,包括所有子目錄及具有隱藏和系統檔案屬性的檔案。無論hello資料夾是否已經存在,如果不存在的話系統會提示你建立。
注:/e表示複製所有子目錄,包括空目錄。/h複製具有隱藏和系統檔案屬性的檔案。
copy命令用法:
E:\Work\Project_Experience\bat_script>copy /? 將一份或多份檔案複製到另一個位置。 COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]] source 指定要複製的檔案。 /A 表示一個 ASCII 文字檔案。 /B 表示一個二進位檔案。 /D 允許解密要建立的目標檔案 destination 為新檔案指定目錄和/或檔名。 /V 驗證新檔案寫入是否正確。 /N 複製帶有非 8dot3 名稱的檔案時, 儘可能使用短檔名。 /Y 不使用確認是否要覆蓋現有目標檔案 的提示。 /-Y 使用確認是否要覆蓋現有目標檔案 的提示。 /Z 用可重新啟動模式複製已聯網的檔案。 /L 如果源是符號連結,請將連結複製 到目標而不是源連結指向的實際檔案。 命令列開關 /Y 可以在 COPYCMD 環境變數中預先設定。 這可能會被命令列上的 /-Y 替代。除非 COPY 命令是在一個批處理指令碼中執行的,預設值應為 在覆蓋時進行提示。 要附加檔案,請為目標指定一個檔案,為源指定 數個檔案(用萬用字元或 file1+file2+file3 格式)。
xcopy命令用法:
E:\Work\Project_Experience\bat_script>xcopy /?
複製檔案和目錄樹。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B]
[/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 相同。可以用來修改 /
/V 驗證每個新檔案的大小。
/W 提示您在複製前按鍵。
/C 即使有錯誤,也繼續複製。
/I 如果目標不存在,且要複製多個檔案,則假定目標必須是目錄。
/Q 複製時不顯示檔名。
/F 複製時顯示完整的原始檔名和目標檔名。
/L 顯示要複製的檔案。
/G 允許將加密檔案複製到不支援加密的目標。
/H 也複製隱藏檔案和系統檔案。
/R 覆蓋只讀檔案。
/T 建立目錄結構,但不復制檔案。不包括空目錄或子目錄。/T /E 包括
空目錄和子目錄。
/U 只複製已經存在於目標中的檔案。
/K 複製屬性。一般的 Xcopy 會重設只讀屬性。
/N 用生成的短名稱複製。
/O 複製檔案所有權和 ACL 資訊。
/X 複製檔案稽核設定(隱含 /O)。
/Y 取消提示以確認要覆蓋現有目標檔案。
/-Y 要提示以確認要覆蓋現有目標檔案。
/Z 在可重新啟動模式下複製網路檔案。
/B 複製符號連結本身與連結目標相對。
/J 複製時不使用緩衝的 I/O。推薦複製大檔案時使用。
開關 /Y 可以預先在 COPYCMD 環境變數中設定。
這可能被命令列上的 /-Y 覆蓋。