Starten Sie cmd.exeals Administrator eine Eingabeaufforderung ( ).
Große Datei erstellen:
fsutil file createnew test.nul 1048576
Überprüfen Sie die Größe im Explorer:
Größe: 1,00 MB (1.048.576 Byte)
Größe auf der Festplatte: 1,00 MB (1.048.576 Byte)
Kennzeichnen wir es als spärlich:
fsutil sparse setflag test.nul
Bisher hat sich nichts geändert, die beiden Größen betragen noch 1,00 MB.
Markieren wir den gesamten Bytebereich als dünn:
fsutil sparse setrange test.nul 0 1048576
Jetzt haben sich die Größen dramatisch geändert:
Größe: 1,00 MB (1.048.576 Byte)
Größe auf der Festplatte: 1,00 KB (1 024 Byte)
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.
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 .
FUNKTIONIERT NICHT ! ... meine Datei ist 30G, ich HABE KEINEN Platz, um sie zu kopieren, und Far-Manager tun nichts, wenn sie versuchen, dieses Flag zu setzen, drücke ich erneut Strg + a und das Attribut ist NOCH DA :(
THESorcerer
@THESorcerer Ich habe nicht versucht, Far Manager zum Festlegen des Sparse-Attributs zu verwenden, nur um es zu löschen. Besteht Ihre Datei nur aus Nullen? Wenn Sie sich die fsutilBefehlszeile genau ansehen , werden Sie feststellen, dass für das Sparse-Attribut setrangeder 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.
Alexey Ivanov
2
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.
Dies funktioniert unter Windows 7 und 8.x jedoch nicht (möglicherweise auch unter Vista), da setflagnur <filename>gültige Parameter akzeptiert werden und kein entsprechender clearflagBefehl vorhanden ist. Es funktioniert jedoch in Windows 10.
Antworten:
Nicole Hamilton lieferte die Beschreibung der Dateien mit geringer Dichte .
Lass es uns mit einem Experiment lernen.
Erstellen einer Sparse-Datei
Starten Sie
cmd.exe
als Administrator eine Eingabeaufforderung ( ).Große Datei erstellen:
Kennzeichnen wir es als spärlich:
Markieren wir den gesamten Bytebereich als dünn:
Sie können abfragen, ob die Datei dünn ist oder nicht mit
fsutil
:Oder
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 .
Sparse-Attribut entfernen
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 .
quelle
fsutil
Befehlszeile genau ansehen , werden Sie feststellen, dass für das Sparse-Attributsetrange
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) :
quelle
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à.
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 entsprechenderclearflag
Befehl vorhanden ist. Es funktioniert jedoch in Windows 10.quelle