Antworten:
Nicole Hamilton lieferte die Beschreibung der Dateien mit geringer Dichte .
Lass es uns mit einem Experiment lernen.
Starten Sie cmd.exe
als Administrator eine Eingabeaufforderung ( ).
Große Datei erstellen:
fsutil file createnew test.nul 1048576
Kennzeichnen wir es als spärlich:
fsutil sparse setflag test.nul
Markieren wir den gesamten Bytebereich als dünn:
fsutil sparse setrange test.nul 0 1048576
Sie können abfragen, ob die Datei dünn ist oder nicht mit fsutil
:
fsutil sparse queryflag test.nul
This file is set as sparse
Oder
This file is NOT set as sparse
Der Wert für Größe auf Festplatte hängt von der Clustergröße des Dateisystems ab. Die Standardclustergröße unter NTFS beträgt 4 KB. Das zum Testen verwendete Laufwerk wurde mit einem 1-KB-Cluster formatiert.
Ich habe diesen Artikel als Quelle verwendet .
Das in diesem Beispiel verwendete Dienstprogramm bietet kein Flag zum Entfernen von Attributen mit geringer Dichte .
Am einfachsten ist es, die Datei zu kopieren . Die Datei verliert dieses spezielle Attribut, wenn die Anwendung, die sie kopiert, das Sparse-Attribut und den Sparse-Bereich nicht speziell beibehält.
Sie können Far Manager verwenden , um das Sparse-Attribut zu löschen. Navigieren Sie zu der Datei und drücken Sie Ctrl+ A, um das Dialogfeld "Attribute" zu öffnen. Klar Sparse Kontrollkästchen. Und klicken Sie auf die Schaltfläche Setzen .
fsutil
Befehlszeile genau ansehen , werden Sie feststellen, dass für das Sparse-Attribut setrange
der Bereich der Bytes angegeben werden muss , die durch das Sparse-Attribut "komprimiert" werden. Wenn Sie das Sparse-Attribut festlegen, wird die Dateistruktur nicht automatisch analysiert, um Speicherplatz zu sparen. Sie müssen damit umgehen.
Bei einer Sparse-Datei handelt es sich um eine Datei mit Löchern. Große Abschnitte mit binären Nullen werden nicht auf die Festplatte geschrieben. Hier ist die Erklärung von Microsoft zu Sparse Files (Windows) :
Wenn die Funktion für Sparse-Dateien aktiviert ist, weist das System einer Datei keinen Festplattenspeicher zu, außer in Regionen, in denen es Daten ungleich Null enthält. Wenn ein Schreibvorgang versucht wird, bei dem ein großer Teil der Daten im Puffer Nullen enthält, werden die Nullen nicht in die Datei geschrieben. Stattdessen erstellt das Dateisystem eine interne Liste mit den Positionen der Nullen in der Datei, und diese Liste wird bei allen Lesevorgängen herangezogen. Wenn eine Leseoperation in Bereichen der Datei ausgeführt wird, in denen sich Nullen befanden, gibt das Dateisystem die entsprechende Anzahl von Nullen in dem für die Leseoperation zugewiesenen Puffer zurück. Auf diese Weise ist die Verwaltung der Sparse-Datei für alle Prozesse, die darauf zugreifen, transparent und in diesem speziellen Szenario effizienter als die Komprimierung.
Dieses spärliche Attributproblem tritt bei heruntergeladenen ISOs für mich ständig auf.
Legen Sie dies in einer Batch-Datei ab und ziehen Sie die Zieldatei (mit Windows Explorer) darauf. Et voilà.
fsutil sparse queryflag %1
pause
fsutil sparse setflag %1 0
fsutil sparse queryflag %1
pause
Dies funktioniert unter Windows 7 und 8.x jedoch nicht (möglicherweise auch unter Vista), da setflag
nur <filename>
gültige Parameter akzeptiert werden und kein entsprechender clearflag
Befehl vorhanden ist. Es funktioniert jedoch in Windows 10.