Cách sử dụng lệnh Xcopy trong CMD (Command Prompt)

17022

Bài viết được sự cho phép của blogchiasekienthuc.com

Nếu như bạn chưa biết thì Xcopy là một lệnh có trong CMD, nó được sử dụng để copy tệp hoặc thư mục trên hệ điều hành Windows. Sau này ở các phiên bản Windows mới hơn thì Xcopy được thay thế bằng Robocopy.

Tuy nhiên, lệnh Xcopy không bị xóa đi, tức là bạn vẫn có thể sử dụng được lệnh Xcopy quen thuộc này bởi độ tương thích cao của nó.

  Hướng dẫn sử dụng Xcode và Tạo project Xcode
  Tạo thư viện bằng Swift Package Manager trong Xcode

#1. Hướng dẫn cơ bản về xcopy trong CMD

Nếu chỉ copy [tệp] hoặc [thư mục] đơn thuần thì lệnh sẽ đơn giản như sau:

xcopy [Đường-dẫn-file-hoặc-folder-cần-copy] [Đường-dẫn -đến-vị-trí-cần-paste]

Ví dụ mình dùng lệnh xcopy để copy file ghost32.exe từ thư mục Setup ra Desktop thì dùng lệnh như sau:

xcopy D:Setupghost32.exe C:UsersAdminDesktop

tim-hieu-ve-lenh-xcopy-trong-cmd (3)

Nếu kết qua là “1 (hoặc nhiều hơn) File(s) copied” thì bạn đã copy tệp hoặc thư mục thành công rùi nha.

//*đọc thêm*//

Vấn đề tiếp theo…………

Nếu bạn muốn ghi đè tệp hoặc thư mục (tức là khi bạn copy tên file hoặc tên thư mục giống nhau) thì sẽ xuất hiện bảng thông báo như sau:

tim-hieu-ve-lenh-xcopy-trong-cmd (1)

Có ba tùy chọn sau:

  • Yes (y): Chấp nhận ghi đè lên file cũ.
  • No (n): Hủy bỏ sao chép, không ghi đè lên file cũ.
  • All (a): Ghi đè lên tất cả các file bị trùng.

=> Bạn nhập các ký hiệu tương ứng => sau đó nhấn Enter để thực hiện lệnh.

Tiếp theo nữa…………

Bạn có thể copy [tệp] hoặc [thư mục] tới đường dẫn không tồn tại. Như vậy, xcopy sẽ tạo cho ta một thư mục hoặc tệp có tên giống như đường dẫn đích.

tim-hieu-ve-lenh-xcopy-trong-cmd (6)

Ví dụ như trong trường hợp này thì Newfolder3 là đường dẫn không tồn tại. Ta có thể thấy được xcopy hỏi rằng muốn tạo tệp hay thư mục không?

  • Nếu chọn thư mục [D], xcopy sẽ tạo ra thư mục với tên đúng với đường dẫn cuối (Newfolder3).
  • Còn nếu chọn tệp [F] thì xcopy sẽ copy tệp nguồn tới đường dẫn cuối tồn tại (Desktop), sau đó đổi tên giống với tên đường dẫn cuối (Newfolder3).

//*hết phần đọc thêm*//

#2. Những điều mà bạn cần lưu ý về lệnh xcopy trong CMD

  • Bạn có thể hủy bất kì lệnh xcopy nào bằng cách nhấn tổ hợp phím Ctrl + C.
  • Nếu bạn không có quyền để sao chép tệp thì sẽ xuất hiện thông báo lỗi Access Denied. Khi đó bạn cần mở CMD bằng quyền Admin để có thể copy tệp. Nếu vẫn không được, thêm tham số /r vào trong lệnh để sửa lỗi này.
  • Khi sao chép tên file phải có thêm phần mở rộng phía sau, nếu không sẽ không thể copy được. Ví dụ mình copy file ghost32.exe nhưng khi dùng lệnh mình chỉ viết là ghost32 thì sẽ bị lỗi và không thể copy được.

tim-hieu-ve-lenh-xcopy-trong-cmd (2)

  • Khi sử dụng xcopy, mặc định tất cả các thuộc tính của file mới được sao chép đều sẽ bị mất. Ví dụ File ghost32.exe của mình có thuộc tính chỉ đọc (Read-only), nhưng sau khi copy ở thư mục mới thì file này sẽ không có thuộc tính chỉ đọc.
  • Mỗi lần dùng xcopy thì chỉ có thể copy được một tệp hoặc thư mục cho mỗi một lệnh.

#3. Các lệnh nâng cao trong xcopy

Lưu ý: Tất cả các tham số như /v/c,… đều phải viết sau “Đường-dẫn-đến-vị-trí-cần-paste” nha.

Đầu tiên ta có thể lọc chỉ copy file hoặc folder có thuộc tính. Ta có thể sử dụng hai lệnh sau để thực hiện trong hai trường hợp như sau:

  • Khi muốn file hoặc folder đích không còn thuộc tính: xcopy /A
  • Khi muốn file hoặc folder đích giữ nguyên thuộc tính: xcopy /M

Tiếp theo, ta có lệnh để cập nhật tệp đã thay đổi bằng cách sử dụng lệnh sau:

xcopy /d:”tháng-ngày-năm hoặc ngày-tháng-năm”

Tác dụng của lệnh này là cho phép ta chỉ sao chép tệp nguồn khi tệp được chỉnh sửa lần cuối, sau ngày mà bạn đã nhập ở bên trên.

Ví dụ mình có file ghost32.exe ở thư mục Setup được chỉnh sửa lần cuối vào ngày 18/6/2021.

tim-hieu-ve-lenh-xcopy-trong-cmd (4)

Và file ghost32.exe ở thư mục Download được chỉnh sửa lần cuối vào ngày 27/6/2021

tim-hieu-ve-lenh-xcopy-trong-cmd (5)

Hiện tại mình muốn thay thế file được chỉnh sửa sau ngày 19/6/2021 thì mình sẽ sử dụng lệnh sau => và nhấn Enter:

xcopy C:UsersAdminDownloadsProgramsghost32.exe D:Setupghost32.exe /d:06-19-2021

tim-hieu-ve-lenh-xcopy-trong-cmd (7)

Tiếp theo ta bấm y để đồng ý ghi đè lên file cũ.

tim-hieu-ve-lenh-xcopy-trong-cmd (9)

Nếu ta chỉ viết /d mà không viết thêm thời gian thì xcopy sẽ chỉ sao chép tệp nếu tệp nguồn được chỉnh sửa lần cuối sau tệp đích.

Bạn có thể tham khảo thêm một vài tham số của xcopy sau đây:

1. xcopy /w: Xác nhận trước khi copy, bấm nút bất kì để bắt đầu copy.

tim-hieu-ve-lenh-xcopy-trong-cmd (10)

2. xcopy /p: Xác nhận trước khi copy, bấm y để đồng ý, n để hủy bỏ.tim-hieu-ve-lenh-xcopy-trong-cmd (11)

3. xcopy /c: Bỏ qua lỗi khi copy, mặc định file bị lỗi sẽ dừng tiến trình copy lại.

4. xcopy /v: Kiểm tra file nguồn và file đích sau khi copy để chắc chắn hai file giống hệt nhau, tránh bị lỗi file hỏng hoặc thiếu sau khi copy (Giống như kiểm tra MD5, SHA-1,…).

5. xcopy /q: Bỏ qua dòng lệnh thông báo đường dẫn nguồn của xcopy khi copy.

dòng lệnh thông báo đường dẫn nguồn
tim-hieu-ve-lenh-xcopy-trong-cmd (12)

6. xcopy /f: Thêm dòng lệnh thông báo đường dẫn đích của xcopy khi copy.tim-hieu-ve-lenh-xcopy-trong-cmd (13)

7. xcopy /l: Bỏ từ “copied” sau kết quả copy.

tim-hieu-ve-lenh-xcopy-trong-cmd (14)

Ngoài ra, bạn có thể thử qua các lệnh như sau:

  1. xcopy /g: Tạo tệp đích được giải mã nếu đích không hỗ trợ mã hóa.
  2. xcopy /u: Chỉ copy tệp nguồn nếu tệp đó đã có ở đích (Lệnh chỉ dùng để ghi đè).
  3. xcopy /i: Nếu tệp đích không tồn tại, tạo thư mục đích với tên của tệp đích và sao chép tệp nguồn vào thư mục đó. Mặc định khi tệp đích không tồn tại thì xcopy sẽ hỏi là tạo tệp nguồn là file hoặc folder.
  4. xcopy /s: Copy thêm các thư mục con trong folder, bỏ qua các thư mục trống. Mặc định xcopy chỉ copy file trong thư mục, bỏ qua các thư mục con trong đó.
  5. xcopy /e: Giống với /s nhưng sẽ copy thêm các thư mục con trống.
  6. xcopy /t: Chỉ sao chép các thư mục con trong folder, bỏ qua tất cả các file, kể cả file trong thư mục con.
  7. xcopy /k: Giữ nguyên thuộc tính Read-only của tệp đích.
  8. xcopy /r: Copy tệp có thuộc tính Read-only. Thường sẽ sử dụng để fix lỗi Access Denied.
  9. xcopy /h: Copy tệp có thuộc tính Hidden hoặc System. Mặc định xcopy sẽ bỏ qua các tệp có thuộc tính trên.
  10. xcopy /a: Giữ nguyên thuộc tính Read-only, Hidden hoặc System của tệp đích. Cần thêm tham số /h hoặc /r để có thể copy.
  11. xcopy /m: Xóa thuộc tính Read-only, Hidden hoặc System của tệp đích. Cần thêm tham số /h hoặc /r để có thể copy.
  12. xcopy /y: Bỏ qua hỏi ghi đè file. Trực tiếp ghi đè tệp khi dùng lệnh này.
  13. xcopy /z: Có thể tiếp tục copy tệp nếu bị mất kết nối đường dẫn nguồn hoặc đích.
  14. xcopy /j: Sao chép tệp không lưu vào bộ nhớ đệm. Nên dùng với file lớn. Chỉ có thể sử dụng từ Windows Server 2008 R2 về sau.

#4. Lời kết

Như vậy là mình đã hướng dẫn xong cho các bạn gần như là tất cả các lệnh xcopy trong CMD rồi nhé.

Hi vọng là bạn sẽ thích bài viết này, đừng quên ghé thăm Blog Chia Sẻ Kiến Thức mỗi ngày để học hỏi thêm nhiều kiến thức thú vị khác nhé

CTV: Hoàng Tuấn – Bài viết gốc tại blogchiasekienthuc.com

Có thể bạn quan tâm:

Xem thêm Việc làm IT hấp dẫn trên TopDev