Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DeleteFile -> Alle Dateien mit dem Textinhalt "Test" lösc (https://www.delphipraxis.net/143994-deletefile-alle-dateien-mit-dem-textinhalt-test-loesc.html)

HolgerCW 27. Nov 2009 15:01


DeleteFile -> Alle Dateien mit dem Textinhalt "Test&
 
Hallo zusammen,

mit DeleteFile kann man ja Dateien auf der Festplatte löschen.

Wie kann ich nun alle Dateien auf der Festplatte löschen die das Wort "Test" beinhalten ?

Gruss

Holger

DeddyH 27. Nov 2009 15:02

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Meinst Du im Dateinamen oder im Inhalt?

HolgerCW 27. Nov 2009 15:03

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
im Dateinamen

DeddyH 27. Nov 2009 15:04

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Dann such doch mit FindFirst/FindNext nach *Test*

HolgerCW 27. Nov 2009 15:10

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Wie mache ich das denn genau mit FindFirst/FindNext ?

Es gibt z.b. drei Dateien mit den Dateinamen:

Hallo_Test.txt
Test_it.jpg
Text.bmp

Es müssten nun die ersten beiden Dateien gelöscht werden ?

Gruss

Holger

DeddyH 27. Nov 2009 15:15

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Such mal zum Nachlesen nach FindAllFilesFindAllFiles, ich bin gerade zu faul zum Code schreiben :mrgreen:

HolgerCW 27. Nov 2009 15:26

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Danke, habe mir nun folgenden Code gebastelt:

Delphi-Quellcode:
if FindFirst(copy(Application.ExeName,1, length(Application.ExeName)-10) + 'PDF-Dateien\*.*',faAnyFile, searchResult) = 0 then
begin

 repeat

  If (pos('Test', searchResult.Name) <> 0) AND (searchResult.Size > 0) then
   DeleteFile(copy(Application.ExeName,1, length(Application.ExeName)-10) + 'PDF-Dateien\' + searchResult.Name);

  until FindNext(searchResult) <> 0;
   
  FindClose(searchResult);

end;
Gruss

Holger

Andreas L. 27. Nov 2009 15:28

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Zitat:

Zitat von DeddyH
Such mal zum Nachlesen nach FindAllFilesFindAllFiles, ich bin gerade zu faul zum Code schreiben :mrgreen:

Damit wird das ganz einfach:
Delphi-Quellcode:
var
  Files: TStrings;
  i: integer;
begin
  Files := TStringList.Create;
  try
    FindAllFiles(Files, 'C:\', '*.*', True);
    for i := Files.Count -1 downto 0 do
    begin
      if pos('Test', Files[i]) > 0 then
        DeleteFile(Files[i]);
    end;
  finally
    Files.Free;
  end;

DeddyH 27. Nov 2009 15:30

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Wieso mit *.* suchen, um dann *Test* wieder rauszufiltern?

Andreas L. 27. Nov 2009 15:34

Re: DeleteFile -> Alle Dateien mit dem Textinhalt "T
 
Zitat:

Zitat von DeddyH
Wieso mit *.* suchen, um dann *Test* wieder rauszufiltern?

War mir nicht sicher ob derartige Wildcards funktionieren:
Delphi-Quellcode:
FindAllFiles(Files, 'C:\', '*test*.*', True);


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz