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ó.
#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
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:
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.
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ímCtrl + 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.
- 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
.
Và file ghost32.exe
ở thư mục Download
được chỉnh sửa lần cuối vào ngày 27/6/2021
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
Tiếp theo ta bấm y
để đồng ý ghi đè lên file cũ.
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.
2. xcopy /p: Xác nhận trước khi copy, bấm y
để đồng ý, n
để hủy bỏ.
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.
6. xcopy /f: Thêm dòng lệnh thông báo đường dẫn đích của xcopy khi copy.
7. xcopy /l: Bỏ từ “copied” sau kết quả copy.
Ngoài ra, bạn có thể thử qua các lệnh như sau:
- xcopy /g: Tạo tệp đích được giải mã nếu đích không hỗ trợ mã hóa.
- xcopy /u: Chỉ copy tệp nguồn nếu tệp đó đã có ở đích (Lệnh chỉ dùng để ghi đè).
- 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.
- 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 đó.
- xcopy /e: Giống với /s nhưng sẽ copy thêm các thư mục con trống.
- 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.
- xcopy /k: Giữ nguyên thuộc tính Read-only của tệp đích.
- xcopy /r: Copy tệp có thuộc tính Read-only. Thường sẽ sử dụng để fix lỗi Access Denied.
- 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.
- 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.
- 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.
- xcopy /y: Bỏ qua hỏi ghi đè file. Trực tiếp ghi đè tệp khi dùng lệnh này.
- 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.
- 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:
- Menu PHP CLI đẹp cho Laravel Artisan Commands
- Hướng dẫn cài đặt Flutter
- Hướng dẫn Angular 2 cho người mới bắt đầu – Phần 3
Xem thêm Việc làm IT hấp dẫn trên TopDev