Programmierung | Grafik | Sonstiges aus dem Studium
Home | Infos | Links | Gästebuch

   

  TrashFile BewertungBewertungBewertungBewertungBewertung

   
 
- Das Programm
- Anleitung
- Quellcode Beispiel Datei erstellen
- Download
   

  Das Programm

   
 
Dieses kleine Konsolenprogramm erzeugt Dummy-Dateien beliebiger Größe. Dabei wird eine Datei erzeugt und dann ihre Größe gesetzt. Es werden keine Daten geschrieben, wodurch das Programm sehr schnell ist, auch bei Dateigrößen von 10GB oder mehr.
   

  Anleitung

   
 

Da es sich hier um ein Konsolenprogramm handelt, muss die Exedatei mit Parametern aufgerufen werden. Der Programmaufruf sieht wie folgt aus:

trashfile DATEINAME DATEIGRÖSSE

Dabei handelt es sich bei DATEINAME um den Namen der zu erzeugenden Datei. Gültig sind absolute Pfade wie 'c:\hallo.dat' oder relative Pfade wie 'test.dat'. Die Dateiendung ist dabei übrigens egal. DATEIGRÖSSE gibt die gewünschte Größe der Datei in Byte an. Ein gültiger Aufruf wäre also:

trashfile test.dat 5368709120

Hiermit würde eine Datei namens test.dat mit einer Größe von 5GByte erstellt werden.

   

  Quellcode Beispiel Datei erstellen

   
 

Wie bereits beschrieben wird die Datei nicht mit Inhalt gefüllt, sondern nur erzeugt - danach wird die Größe manipuliert. Hier ein kurzer Auszug aus dem Quellcode, der zeitgt, wie dies gemacht wird.

hFile = CreateFile(argv[1], GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, NULL, NULL);

Mit dieser Zeile wird die Datei erzeugt. argv[1] ist der erste übergebene Parameter, der als Dateiname dient. Der Dateihandle wird in hFile gespeichert.

SetFilePointerEx(hFile, liPosition, NULL, FILE_BEGIN);

Hier wird der FilePointer umgesetzt. Zu einem Dateihandle gibt es diesen Zeiger, der angibt, an welcher Position der nächste Lese-/Schreibvorgang vorgenommen wird. Bei einer neu erstellten Datei ist diese Position zunächst der Anfang der Datei. Mit dem Funktionsaufruf wird die Position nun um liPosition Bytes versetzt. Diese Angabe entspricht der Größe der neuen Datei. Streng genommen befindet sich der Zeiger nun an einer ungültigen Position, da die Datei ja zurzeit noch gar keine Daten enthält und daher eine Größe von 0 hat.

SetEndOfFile(hFile);

Diese Funktion setzt nun das Ende der Datei neu. Hier wird der Dateizeiger berücksichtigt. Das Setzen der Größe passiert einfach, indem dem Dateisystem gesagt wird, wo die Datei von nun an endet. Es ist dabei möglich die Datei zu vergrößern oder auch zu verkleinern. Die Daten, die neu zur Datei hinzukommen oder aber abgeschnitten werden, werden hierbei nicht weiter beachtet. Unsere Datei hat nun jedenfalls die gewünschte Größe.

   

  Download

   
 

Das Programm und auch die Projektdateien (Visual Studio .NET 2003) können hier heruntergeladen werden.

Download des Programms (EXE-Datei, 88KB, 1477x heruntergeladen)
Download der Quellen (ZIP-Archiv, 6KB, 876x heruntergeladen)

   

  Bewertung

   
 
BewertungBewertungBewertungBewertungBewertung
29x bewertet - 4.5 / 5 Sternen

Bewertung abgeben:

   
Letzte Änderung: 27.03.2009 - 00:43:07 | 93032 Besucher (168791 Zugriffe) seit dem 20.04.2004

 Programmierung | Grafik | Sonstiges
Home | Infos | Links | Gästebuch