Lệnh Xcopy trong Windows

Lệnh xcopy là lệnh Command Prompt được sử dụng để sao chép một hoặc nhiều file hoặc thư mục từ vị trí này sang vị trí khác. Với nhiều tùy chọn và khả năng sao chép toàn bộ thư mục, lệnh xcopy tương tự, nhưng mạnh hơn nhiều so với lệnh copy. Lệnh robocopy cũng tương tự nhưng có nhiều tùy chọn hơn.

Tính khả dụng của lệnh Xcopy

Lệnh này có sẵn từ trong Command Prompt trong tất cả các hệ điều hành Windows bao gồm Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows 98, v.v... Xem Cách mở Command Prompt nếu bạn cần trợ giúp.

Bạn cũng có thể truy cập lệnh trong MS-DOS dưới dạng lệnh DOS.

Lệnh xcopy là lệnh Command Prompt được sử dụng để sao chép một hoặc nhiều file hoặc thư mục từ vị trí này sang vị trí khác
Lệnh xcopy là lệnh Command Prompt được sử dụng để sao chép một hoặc nhiều file hoặc thư mục từ vị trí này sang vị trí khác

Cú pháp lệnh Xcopy

Sử dụng cú pháp sau cho lệnh xcopy:

xcopy source [destination] [/a] [/b] [/c] [/d [:date]] [/e] [/f] [/g] [/h] [/i] [/j] [/k] [/l] [/m] [/n] [/o] [/p] [/q] [/r] [/s] [/t] [/u] [/v] [/w] [/x] [/y] [/-y] [/z] [/exclude:file1[+file2][+file3]...] [/?]

Lưu ý: Tính khả dụng của một số switch lệnh xcopy và cú pháp lệnh có thể khác nhau giữa các hệ điều hành.

Tùy chọn lệnh Xcopy

Tùy chọnMô tả
sourceTùy chọn này xác định các file hoặc thư mục cấp cao nhất mà bạn muốn sao chép. Source là tham số bắt buộc duy nhất. Sử dụng dấu ngoặc kép xung quanh source nếu nó chứa khoảng trắng.
destinationTùy chọn này chỉ định vị trí nơi các thư mục hoặc file source sẽ được sao chép vào. Nếu không có destination nào được liệt kê, các file hoặc thư mục sẽ được sao chép vào cùng một thư mục mà bạn chạy lệnh xcopy. Sử dụng dấu ngoặc kép xung quanh destination nếu nó chứa khoảng trắng.
/aSử dụng tùy chọn này sẽ chỉ sao chép các file lưu trữ được tìm thấy trong source. Bạn không thể sử dụng /a/m cùng nhau.
/bSử dụng tùy chọn này để sao chép chính symbolic link (liên kết tượng trưng) thay vì đích liên kết. Tùy chọn này lần đầu tiên có trong Windows Vista.
/cTùy chọn này buộc xcopy tiếp tục ngay cả khi nó gặp lỗi.
/d [ : date]Sử dụng lệnh với tùy chọn /d và một ngày cụ thể, ở định dạng MM-DD-YYYY, để sao chép các file đã thay đổi vào hoặc sau ngày đó. Bạn cũng có thể sử dụng tùy chọn này mà không cần chỉ định ngày cụ thể để chỉ sao chép những file trong source mới hơn so với cùng một file đã tồn tại ở destination. Điều này rất hữu ích khi sử dụng xcopy để thực hiện sao lưu file thường xuyên.
/eKhi được sử dụng một mình hoặc với /s, tùy chọn này giống như /s nhưng cũng sẽ tạo các thư mục trống trong destination cũng trống trong source. Tùy chọn /e cũng có thể được sử dụng cùng với tùy chọn /t để bao gồm các thư mục trống và thư mục con được tìm thấy trong source trong cấu trúc thư mục được tạo ở destination.
/fTùy chọn này sẽ hiển thị đường dẫn đầy đủ và tên của cả file sourcedestination đang được sao chép.
/gSử dụng xcopy với tùy chọn này cho phép bạn sao chép các file được mã hóa trong source đến một destination không hỗ trợ mã hóa. Tùy chọn này sẽ không hoạt động khi sao chép file từ ổ được mã hóa EFS sang ổ không được mã hóa EFS.
/hSử dụng tùy chọn này để sao chép các file ẩn hoặc file hệ thống.
/iSử dụng tùy chọn /i để buộc xcopy giả định rằng destination là một thư mục. Nếu bạn không sử dụng tùy chọn này và bạn đang sao chép từ source là thư mục hoặc nhóm file và sao chép đến destination không tồn tại, lệnh xcopy sẽ nhắc bạn nhập destination là file hay thư mục.
/jTùy chọn này sao chép file mà không cần lưu buffer, một tính năng hữu ích cho các file có dung lượng rất lớn. Tùy chọn này lần đầu tiên có trong Windows 7.
/kSử dụng tùy chọn này khi sao chép các file chỉ đọc để giữ lại thuộc tính file đó trong destination.
/lSử dụng tùy chọn này để hiển thị danh sách các file và thư mục sẽ được sao chép... nhưng thực tế không có quá trình sao chép nào được thực hiện. Tùy chọn /l rất hữu ích nếu bạn đang xây dựng một lệnh phức tạp với nhiều tùy chọn và bạn muốn xem nó sẽ hoạt động như thế nào theo giả thuyết.
/mTùy chọn này giống với tùy chọn /a nhưng xcopy sẽ tắt thuộc tính lưu trữ sau khi sao chép file. Bạn không thể sử dụng /m/a cùng nhau.
/nTùy chọn này tạo file và thư mục trong destination bằng cách sử dụng tên file ngắn. Tùy chọn này chỉ hữu ích khi bạn đang sử dụng lệnh để sao chép file đến destination tồn tại trên ổ đã được định dạng thành hệ thống file cũ như FAT không hỗ trợ tên file dài.
/oGiữ lại quyền sở hữu và thông tin Access Control List (ACL) trong file được ghi trong destination.
/pKhi sử dụng tùy chọn này, bạn sẽ được nhắc trước khi tạo từng chờ trong destination.
/qNgược lại với tùy chọn /f, switch /q sẽ đặt xcopy vào chế độ Quite, bỏ qua việc hiển thị trên màn hình cho mỗi file được sao chép.
/rSử dụng tùy chọn này để ghi đè các file chỉ đọc trong destination. Nếu bạn không sử dụng tùy chọn này khi muốn ghi đè lên một file chỉ đọc trong destination, bạn sẽ nhận được thông báo "Access denied" và lệnh sẽ ngừng chạy.
/sSử dụng tùy chọn này để sao chép các thư mục, thư mục con và các file chứa bên trong chúng, ngoài những file trong thư mục root của source. Các thư mục trống sẽ không được tạo lại.
/tTùy chọn này buộc lệnh xcopy tạo cấu trúc thư mục trong destination nhưng không sao chép bất kỳ file nào. Nói cách khác, các thư mục và thư mục con được tìm thấy trong source sẽ được tạo nhưng người dùng không có file nào. Các thư mục trống sẽ không được tạo.
/uTùy chọn này sẽ chỉ sao chép các file trong source đã ở trong destination.
/vTùy chọn này xác minh từng file khi nó được ghi, dựa trên dung lượng, để đảm bảo chúng giống hệt nhau. Quá trình xác minh được tích hợp sẵn trong lệnh bắt đầu trên Windows XP, vì vậy tùy chọn này không có tác dụng gì trong các phiên bản Windows mới và chỉ được bao gồm để tương thích với những file MS-DOS cũ.
/wSử dụng tùy chọn /w để làm xuất hiện thông báo "Press any key when ready to being copying file(s)". Lệnh sẽ bắt đầu sao chép file theo hướng dẫn sau khi bạn xác nhận bằng một lần nhấn phím. Tùy chọn này không giống như tùy chọn /p yêu cầu xác minh trước mỗi bản sao file.
/xTùy chọn này sao chép cài đặt kiểm tra file và thông tin System Access Control List (SACL). Bạn có ngụ ý giống tùy chọn /o khi sử dụng tùy chọn /x.
/ySử dụng tùy chọn này để ngăn lệnh nhắc bạn về việc ghi đè lên các file từ source đã tồn tại trong destination.
/-ySử dụng tùy chọn này để buộc lệnh nhắc bạn về việc ghi đè file. Điều này có vẻ như là một tùy chọn kỳ lạ tồn tại vì đây là hành vi mặc định của xcopy, nhưng tùy chọn /y có thể được đặt trước trong biến môi trường COPYCMD trên một số máy tính, làm cho tùy chọn này trở nên cần thiết.
/zTùy chọn này cho phép lệnh xcopy dừng sao chép file một cách an toàn khi kết nối mạng bị mất và sau đó tiếp tục sao chép từ vị trí đã dừng sau khi kết nối được thiết lập lại. Tùy chọn này cũng hiển thị phần trăm được sao chép cho mỗi file trong quá trình sao chép.
/exclude: file1[ + file2][ + file3]...Tùy chọn này cho phép bạn chỉ định một hoặc nhiều tên file chứa danh sách các chuỗi tìm kiếm mà bạn muốn lệnh sử dụng để xác định file và/hoặc thư mục cần bỏ qua khi sao chép.
/?Sử dụng switch help với xcopy để hiển thị trợ giúp chi tiết về lệnh. Thực thi lệnh xcopy /? cũng giống như việc sử dụng lệnh help để thực thi help xcopy.

Lưu ý: Lệnh xcopy sẽ thêm thuộc tính lưu trữ vào các file trong destination, bất kể thuộc tính đó được kích hoạt hay vô hiệu hóa trên file trong source.

Ví dụ về lệnh Xcopy

Sau đây là một số ví dụ về cách sử dụng lệnh này:

Sao chép các file vào thư mục mới

xcopy C:\Files E:\Files /i

Trong ví dụ trên, các file chứa trong thư mục nguồn source của C:\Files được sao chép đến destination, một thư mục mới [/ i] trên ổ E được gọi là Files.

Không có thư mục con, cũng như bất kỳ file nào chứa trong chúng, sẽ được sao chép vì tùy chọn /s không được sử dụng.

Script sao lưu Xcopy

xcopy "C:\Important Files" D:\Backup /c /d /e /h /i /k /q /r /s /x /y

Trong ví dụ này, xcopy được thiết kế để hoạt động như một giải pháp sao lưu. Hãy thử điều này nếu bạn muốn sử dụng xcopy thay vì một chương trình phần mềm để sao lưu các file của mình. Đặt lệnh như được hiển thị ở trên trong một script và lên lịch để nó chạy hàng đêm.

Như được hiển thị ở trên, lệnh được sử dụng để sao chép tất cả các file và thư mục [/s] mới hơn những file và thư mục đã được sao chép [/d], bao gồm các thư mục trống [/e] và file ẩn [/h], từ nguồn C:\Important Files đến đích D:\Backup, là thư mục [/i].

Vi dụ có một số file chỉ đọc muốn cập nhật trong đích [/r] và muốn giữ thuộc tính đó sau khi được sao chép [/k]. Ví dụ cũng muốn đảm bảo rằng mọi cài đặt quyền sở hữu và kiểm tra trong các file đang sao chép [/x] được duy trì. Cuối cùng, vì ví dụ đang chạy xcopy trong một script, nên không cần xem bất kỳ thông tin nào về các file khi chúng được sao chép [/q], Ví dụ không muốn bị nhắc khi ghi đè từng file [/y] và cũng không muốn lệnh dừng nếu nó gặp lỗi [/c].

Sao chép các file và thư mục qua mạng

xcopy C:\Videos "\\SERVER\Media Backup" /f /j /s /w /z

Ở đây, lệnh được sử dụng để sao chép tất cả các file, thư mục con và file có trong thư mục con [/s] từ nguồn C:\Videos vào thư mục đích Media Backup nằm trên một máy tính thuộc mạng có tên là SERVER. Một số file video thực sự lớn đang được sao chép, vì vậy tính năng ghi buffer nên được tắt để cải thiện quá trình sao chép [/j] và vì việc sao chép đang diễn ra qua mạng, nên tác giả muốn có thể tiếp tục sao chép nếu mất kết nối mạng [/z] giữa chừng.

Ví dụ cũng muốn được nhắc bắt đầu quá trình trước khi thực sự làm bất cứ điều gì [/w] và xem mọi chi tiết về những file nào đang được sao chép [/f].

Nhân bản cấu trúc thư mục

xcopy C:\Client032 C:\Client033 /t /e

Trong ví dụ cuối cùng này, bài viết có một nguồn đầy đủ các file và thư mục được tổ chức tốt trong C:\Client032 cho một client. Bài viết đã tạo một thư mục đích trống, Client033, cho một client mới nhưng không muốn bất kỳ file nào được sao chép - chỉ đơn thuần là cấu trúc thư mục trống [/t] để sắp xếp và chuẩn bị. Có một số thư mục trống trong C:\Client032 có thể áp dụng cho client mới, vì vậy ví dụ muốn đảm bảo rằng chúng cũng được sao chép [/e].

Thứ Bảy, 22/05/2021 09:28
3,84 👨 9.543
1 Bình luận
Sắp xếp theo
  • NAM TRAN
    NAM TRAN

    cho mình hỏi: m muốn copy và thay thế toàn bộ nội dung của 1 folder sang thư mục cài đặt của m phần thì dùng đoạn code nào?

    1 ví dụ: 1 folder có tên là "plugins", trong folder này có 3 file, m muốn copy và thay thế toàn bộ nó vào thư mục cài đặt là ổ C của phần mềm

    Cảm ơn sự giúp đỡ

    Thích Phản hồi 13:29 08/08