Vì sao tôi không tin tưởng chức năng sao chép của Windows đối với các tập tin lớn — và tôi đang sử dụng phần mềm thay thế nào hiện nay.

Việc sao chép một vài tập tin nhỏ, như ảnh chụp màn hình hoặc tài liệu, nhìn chung là ổn. Chúng thường là các tập tin nhỏ và bạn sẽ không gặp nhiều khó khăn khi di chuyển chúng. Tuy nhiên, vấn đề phát sinh khi bạn thực sự phải di chuyển một tập tin có dung lượng vài gigabyte, hoặc tệ hơn, nhiều tập tin như vậy – khi sử dụng các công cụ thông thường dành cho mục đích đó, máy tính của bạn sẽ gặp khó khăn.

May mắn thay, vẫn có giải pháp—nếu bạn sẵn lòng tìm hiểu cách sử dụng chúng. Tại sao Windows Copy lại không đáng tin cậy?

Chức năng sao chép-dán trong File Explorer thường không thực sự hiệu quả khi bạn cần xử lý các tập dữ liệu lớn hoặc các tệp tin riêng lẻ khổng lồ. Như tôi đã nói trước đó, mặc dù nó hoạt động tốt khi bạn cần di chuyển một vài tài liệu hoặc hình ảnh, nhưng kiến ​​trúc và cách xử lý tệp tin của nó khiến nó gặp khó khăn khi chuyển các terabyte dữ liệu hoặc hàng nghìn thư mục lồng nhau.

Điều này là do cách Windows Explorer quản lý quá trình liệt kê tệp tin. Trước khi quá trình chuyển bắt đầu, hệ thống cố gắng tính toán tổng kích thước và số lượng tệp tin để đưa ra ước tính tiến độ. Đối với các thư mục khổng lồ, giai đoạn tính toán trước đó có thể khiến toàn bộ quá trình bị đình trệ, dẫn đến hộp thoại “Đang tính toán thời gian còn lại” nổi tiếng và hiển thị vô thời hạn. Thuật toán ước tính này nổi tiếng là không chính xác, dao động mạnh giữa phút và ngày dựa trên thông lượng tức thời chứ không phải mức trung bình bền vững, và thực sự không cung cấp cho bạn dữ liệu đáng tin cậy nào về thời điểm tác vụ sẽ hoàn thành.

Hơn nữa, Windows Explorer thiếu khả năng xử lý lỗi mạnh mẽ trong quá trình truyền tải. Nếu một tệp tin trong số hàng nghìn tệp tin bị khóa bởi một tiến trình khác hoặc gặp lỗi đọc, toàn bộ thao tác thường bị tạm dừng, chờ người dùng can thiệp. Và trong trường hợp xấu nhất, quá trình truyền tải có thể bị hủy bỏ hoàn toàn, khiến bạn chỉ còn lại một thư mục được sao chép một phần và không có cách nào dễ dàng để xác định tệp tin nào đã được truyền tải thành công và tệp tin nào thì không.

Giải pháp thay thế: công cụ dòng lệnh

Vậy làm thế nào để khắc phục điều này? Câu trả lời rất đơn giản: sử dụng dòng lệnh của Windows. Nếu bạn không phải là người dùng thành thạo, nó có thể hơi khó sử dụng, nhưng một khi đã quen, nó có thể trở thành cách duy nhất để bạn di chuyển hàng nghìn tập tin cùng lúc trên máy tính của mình. Windows thậm chí còn có một tiện ích tích hợp sẵn cho việc này, được gọi là Robocopy, hay “Robust File Copy” (Sao chép tập tin mạnh mẽ). Không giống như giao diện kéo và thả thông thường, Robocopy là một chương trình dòng lệnh được thiết kế đặc biệt để sao chép thư mục và xử lý các lần truyền tải hàng loạt lớn với độ ổn định cấp máy chủ. Nó hoạt động mà không cần đến giao diện người dùng đồ họa, cho phép nó phân bổ nhiều tài nguyên hệ thống hơn trực tiếp cho các thao tác nhập/xuất.

Công cụ này cho phép người dùng thực hiện các logic truyền tải phức tạp mà Windows Explorer không thể xử lý. Ví dụ, bạn có thể chỉ định chính xác số lần thử lại mà hệ thống nên thực hiện nếu một tập tin bị khóa, hoặc đặt thời gian chờ giữa các lần thử lại, đảm bảo rằng một sự cố tạm thời không làm gián đoạn quá trình truyền tải qua đêm vài terabyte.

Sức mạnh thực sự của các công cụ dòng lệnh như Robocopy nằm ở các tùy chọn và tham số chuyên dụng, cho phép kiểm soát chi tiết quá trình di chuyển dữ liệu. Bạn có thể sử dụng khả năng đa luồng để sao chép nhiều tệp cùng lúc, tận dụng tối đa băng thông mạng hoặc thông lượng ổ đĩa hiệu quả hơn nhiều so với thao tác sao chép đơn luồng thông thường bằng Explorer. Điều này giúp giảm đáng kể tổng thời gian cần thiết cho các thao tác truyền tải hàng nghìn tệp nhỏ.

Hơn nữa, các công cụ này cung cấp chế độ “khởi động lại”. Nếu kết nối bị gián đoạn trong quá trình truyền tải một tệp video dung lượng lớn, Robocopy có thể tiếp tục chính xác từ nơi đã dừng lại sau khi kết nối được khôi phục, thay vì phải bắt đầu lại tệp từ đầu. Nó cũng rất xuất sắc trong việc đồng bộ hóa, cho phép người dùng sao chép thư mục nguồn sang thư mục đích, tự động xóa các tệp trong thư mục đích không còn tồn tại trong thư mục nguồn. Điều này tạo ra một bản sao chính xác 1:1 của cấu trúc dữ liệu, một việc rất tốn thời gian và dễ xảy ra lỗi do con người khi thực hiện thủ công thông qua File Explorer.

Tôi có nên sử dụng chúng không?

Nếu những vấn đề tôi đã mô tả trong phần đầu của bài viết quen thuộc với bạn, bạn có thể muốn sử dụng nó thường xuyên. Tuy nhiên, nó không dành cho tất cả mọi người. Đối với người dùng thông thường khi chuyển một thư mục ảnh kỳ nghỉ sang ổ USB, việc học cú pháp dòng lệnh có lẽ là không cần thiết. Ngay cả với tất cả những nhược điểm của nó, phản hồi trực quan của thanh tiến trình và sự quen thuộc của tương tác chuột vẫn cung cấp trải nghiệm người dùng đủ tốt cho các lần chuyển tải nhỏ, ít rủi ro. Và bạn thậm chí vẫn có thể thành công nếu phải chuyển các video có dung lượng vài gigabyte mỗi video. Nguy cơ gõ sai lệnh và vô tình ghi đè hoặc xóa dữ liệu cũng là một mối lo ngại thực sự đối với những người chưa quen với tính chất khắc nghiệt của giao diện dòng lệnh. Một cờ đặt sai vị trí trong lệnh sao chép có thể xóa sạch ổ đĩa đích trong vài giây, mà không có Thùng rác để khôi phục dữ liệu đã mất.

Đối với các chuyên gia, người sáng tạo nội dung và bất kỳ ai thường xuyên quản lý hàng trăm gigabyte dữ liệu, việc chuyển đổi không chỉ được khuyến nghị mà thường còn cần thiết. Khó khăn ban đầu khi học cú pháp sẽ nhanh chóng được bù đắp bởi sự an tâm mà nhật ký có thể kiểm chứng và khả năng chống lỗi mang lại, và tất nhiên, các lần truyền tải thực sự diễn ra đúng thời gian dự kiến, không bị trì hoãn bởi các thủ thuật lập chỉ mục. Nếu bạn thường xuyên thấy mình phải nhìn chằm chằm vào hộp thoại sao chép bị đóng băng hoặc phải kiểm tra thủ công kích thước thư mục để đảm bảo quá trình sao lưu hoàn tất thành công, thì dòng lệnh là một lựa chọn thay thế khá tốt. Bạn có thể viết kịch bản cho các lệnh này và tự động hóa các quy trình sao lưu phức tạp, lên lịch chạy trong khi bạn ngủ, với một tệp nhật ký chi tiết chờ bạn vào buổi sáng để xác nhận rằng mọi byte đã được truyền tải chính xác.