Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Dateien ohne Inhalt (leere Dateien) finden

  Alt 10. Sep 2012, 13:19
Hallo,
ich habe ein Problem mit meinem Fileserver und hoffe zunächst, die richtige Rubrik innerhalb der gefunden zu haben.

Nach einem Absturz (Ursache ist hier egal), habe ich jetzt schon ein paar Dateien gefunden, deren Größe <> 0 Bytes ist, deren Inhalt aber wie folgt aussieht:
Code:
00000000   00 00 00 00   00 00 00 00   00 00 00 00   00 00 00 00
00000010   00 00 00 00   00 00 00 00   00 00 00 00   00 00 00 00
00000020   00 00 00 00   00 00 00 00   00 00 00 00   00 00 00 00
Das sollte so nicht sein und ich befürchte, dass es noch ein paar weitere Dateien "erwischt" hat. Ich habe jetzt in meiner Not quick and dirty etwas zusammenprogrammiert, was mir derartige Null-Dateien rekursiv suchen soll, was aber nicht funktioniert. Den vollständigen Code habe ich angehängt. Der Fehler muss aber irgendwo hier liegen:
Delphi-Quellcode:
If (SR.Size > 0) Then                  // 0-Byte-Dateien ignorieren
Begin
   AssignFile(F, Dir + PathDelim + SR.Name);
   System.FileMode:=fmOpenRead;
   {$I-}
   Reset(F);
   If (IOResult = 0) Then
   Begin
      IsEmpty:=True;
      BlockRead(F, Buffer, BuffSize, Res);
      CloseFile(F);
      If (Res > 0) Then
      Begin
         For I:=1 To Res Do
         Begin
            If (Buffer[I] <> 0) Then
            Begin
               IsEmpty:=False;
// Break;
            End;
         End;
      End;
      If IsEmpty Then
         LBFiles.Items.Append(Dir + PathDelim + SR.Name + ' - (' +
         FormatFloat('0,', SR.Size) + ')');
   End;
   {$I+}
End;
Kann mir jemand helfen, meine Denkblockade aufzulösen?

Danke, Alex
Angehängte Dateien
Dateityp: zip EmptyFiles_p.zip (2,1 KB, 4x aufgerufen)
Alex Winzer
  Mit Zitat antworten Zitat