Tôi nghĩ rằng việc trả lời bằng một phép nhân chéo đơn giản là hết sức ủy khuất, tôi chắc chắn rằng anh ấy đã biết rằng, đó là cách chúng tôi liên tục đoán ra những điều trong đầu.
Vấn đề với các thanh tiến trình hoạt động tệp là nó chỉ đúng với dữ liệu thống nhất, vì vậy nếu bạn sao chép 100 tệp có cùng kích thước và ổ đĩa của bạn không làm gì khác, thì tiến trình ước tính sẽ được phát hiện, nhưng nếu trước tiên 99 tệp là các tệp txt nhỏ và tệp cuối cùng là tệp video lớn? Tiến độ sẽ được CÁCH.
Vấn đề này tiếp tục gia tăng khi bạn không xử lý tệp trong một thư mục, nhưng nhiều thư mục phụ. Giả sử bạn có 5 thư mục con và bạn muốn xóa chúng (kích thước không thành vấn đề trong trường hợp này), 4 thư mục đầu tiên chỉ chứa ít hơn 10 tệp, do đó, khi thao tác đến thư mục thứ 5, nó nghĩ rằng đó là về Đã hoàn thành 80% và thư mục boom 5 chứa 5000 tệp và tiến trình của bạn nhảy trở lại 1%
WinXP đã cố gắng khắc phục điều này bằng cách đếm số lượng tệp trước đó có nghĩa là khi thư mục không được lập chỉ mục trong cửa sổ, tùy thuộc vào số lượng tệp, XP không thực sự bắt đầu hoạt động trong 20 giây đầu tiên (thời gian cần thiết đếm) khiến mọi người tức giận.
Vì vậy, trong khi tôi cũng không có kiến thức đặc biệt về cách Windows thực hiện (nhưng còn gì khác ngoài việc đếm tệp và byte) Tôi hy vọng tôi có thể minh họa tại sao nó không hoàn hảo và tại sao nó không bao giờ hoàn hảo.
Điều tốt nhất bạn có thể làm là không chỉ dựa vào filecount HOẶC bytecount, mà xây dựng trung bình trong số hai.
Hoặc nếu bạn muốn phát điên thêm nữa, HĐH có thể bắt đầu một cơ sở dữ liệu về thời gian các hoạt động này diễn ra trong quá khứ trên máy của bạn và đưa yếu tố đó vào phương trình.
Suy nghĩ cuối cùng: Nếu ai đó nghĩ về một hệ thống tập tin sẽ cho HĐH biết kích thước của mỗi thư mục, mà không tính toán trước, ít nhất bạn sẽ có được ước tính tiến độ chính xác khi xóa toàn bộ thư mục và không chỉ các phần của nó.