Die Antwort mit einer einfachen Kreuzmultiplikation ist schrecklich herablassend. Ich denke, ich bin mir sicher, dass er das bereits wusste. So schätzen wir ständig auch die Dinge in unserem Kopf.
Das Problem mit Fortschrittsbalken für den Dateivorgang besteht darin, dass dies nur für einheitliche Daten korrekt ist. Wenn Sie also 100 Dateien kopieren, die alle dieselbe Größe haben und Ihr Laufwerk nichts anderes tut, ist der geschätzte Fortschritt genau richtig, aber was ist, wenn der erste 99 Dateien waren kleine txt-Dateien und die letzte ist eine große Videodatei? Der Fortschritt wird weg sein.
Dieses Problem wird weiter verstärkt, wenn Sie nicht Dateien in einem Ordner, sondern in mehreren Unterordnern verarbeiten. Angenommen, Sie haben 5 Unterordner und möchten diese löschen (die Größe spielt in diesem Fall keine große Rolle). Die ersten 4 Ordner enthalten nur weniger als 10 Dateien. Wenn der Vorgang also in den 5. Ordner gelangt, von dem er glaubt, dass es sich um einen handelt 80% fertig, und der fünfte Boom- Ordner enthält 5000 Dateien und Ihr Fortschritt springt zurück auf 1%
WinXP versuchte dies zu umgehen, indem es die Anzahl der Dateien im Voraus zählte. Dies bedeutete, dass XP den Vorgang in den ersten 20 Sekunden (Zeitaufwand) nicht wirklich startete, wenn der Ordner nicht in Windows indiziert war, abhängig von der Anzahl der Dateien zählen), was alle wütend machte.
Obwohl ich auch keine besonderen Kenntnisse darüber habe, wie Windows es macht (aber was gibt es außer dem Zählen von Dateien und Bytes noch), hoffe ich, dass ich veranschaulichen kann, warum es fehlerhaft ist und warum es niemals perfekt sein wird.
Das Beste, was Sie tun könnten, wäre, sich nicht nur auf die Anzahl der Dateien oder die Anzahl der Bytes zu verlassen, sondern einen Durchschnitt aus beiden zu erstellen.
Oder wenn Sie besonders verrückt werden möchten, kann das Betriebssystem eine Datenbank darüber erstellen, wie lange diese Vorgänge in der Vergangenheit auf Ihrem Computer gedauert haben, und dies in die Gleichung einbeziehen.
Letzter Gedanke: Wenn jemand an ein Dateisystem denken würde, das dem Betriebssystem mitteilt, welche Größe jeder Ordner hat, ohne es vorher zu berechnen, würden Sie zumindest eine korrekte Fortschrittsschätzung erhalten, wenn Sie ganze Ordner und nicht nur Teile davon löschen.