![]() |
Mehrere Dateien Schreddern
Ich habe diesen Code hier (von shmia)
Delphi-Quellcode:
So nun meine Frage. Ich habe einen Opendialog. Ich habe eingestellt,
procedure ShredderFile(const filename:string);
const Fillchars: array[0..5] of char = (Char($00), Char($FF), Char($00), Char($F0), Char($0F), Char($00)); BLOCK_SIZE = 8096; var fs : TFileStream; buffer : String; i, j : Integer; begin fs := TFileStream.Create(filename, fmOpenReadWrite or fmShareExclusive); try // Datei auf nächste Blockgrösse verlängern, damit der "Slack" überschrieben // wird fs.Size := ((fs.Size div BLOCK_SIZE) +2) * BLOCK_SIZE; // Datei soll mindestens 2 MB gross sein, damit die Schreibcaches der // Festplatten überflutet werden if fs.Size < 2097152 then fs.Size := 2097152; for i := 0 to 5 do begin fs.Position := 0; buffer := StringofChar(Fillchars[i], BLOCK_SIZE); for j := 1 to fs.Size div BLOCK_SIZE do begin fs.WriteBuffer(buffer[1], BLOCK_SIZE); end; FlushFileBuffers(fs.Handle); end; // wir verarschen den Geheimdienst und schreiben zum Schluss // seltsame Schrottdaten // wirkliche Zufallsdaten wären besser, aber das reicht doch auch schon buffer := 'Terror, Bin Laden, Sprengstoff, Waffen, Plutonium'; fs.Position := 0; for j := 1 to fs.Size div Length(buffer) do begin fs.WriteBuffer(buffer[1], Length(buffer)); end; finally fs.Free; end; end; procedure ShredderAndDeleteFile(const filename:string); var newname : string; begin // zuerst umbennen, dann später keine Rückschlüsse auf den Dateinamen möglich sind newname := ExtractFilepath(Filename)+'$000000.tmp'; if not RenameFile(Filename, newname) then raise Exception.CreateFmt('Can''t rename file %s', [filename]); ShredderFile(newname); DeleteFile(newname); end; dass man mehrere Dateien auswählen kann. Wähle ich nun mehrere an, überschreibt er nur die erste. Nun, wie muss ich den Code ändern, dass ich mehrere Dateien auswählen kann, und dass er sie nacheinander Schreddert? Vielen Dank! |
Re: Mehrere Dateien Schreddern
einfach für alle dateien (keine ahnung, wei der dialog die zurückgibt - vielleicht einfach per for schleife durch ne stringlist gehen) die prozedur aufrufen
|
Re: Mehrere Dateien Schreddern
hab das noch nie gemacht kann mir einer helfen?
|
Re: Mehrere Dateien Schreddern
Die Eigenschaft heißt Files vom OpenDialog, wo die Dateien alle drinstehen. Einfach in einer for-Schleife alle druchgehen und jedes mal deine Funktion aufrufen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz