Festplatte nach Datei durchsuchen und wenn gefunden löschen...
-
Hi,
hab zwar schon 2-3 Beiträge zum thema gefudnen, konnte damit aber leider nichts anfangen (mit der MSDN komme ich nicht zurecht!!!).
könnte mir jemand bitte kurz erklären wie ich
1. nach einer Datei auf der Festplatte suchen kann.
2. die gefundene Datei dann löschen kann.Es soll ein programm werden das z.B. die festplatte nach .tmp dateien durchsucht und diese dann löscht.
wäre wirklich dankbar wenn mit jemand helfen könnte...
-
Versuchs mal hiermit, die Suche wird rekursiv aufgerufen, ist schnell und funktioniert prima. Ist auch nicht auf meinem Mist gewachsen, aber beim Studieren des Codes solltest du begreifen, wies funzt.
typedef struct TFiledata { String Name; String Path; TSearchRec Data; }tFiledata; typedef tFiledata* pFiledata; void GetFileList(TList *Liste,String StartDirectory) { TSearchRec sr; String Directory; int result = FindFirst((StartDirectory + "*.*").c_str(), faSysFile|faReadOnly|faHidden|faDirectory, sr ); while(result == 0) { Application->ProcessMessages(); if((sr.Attr & faDirectory)) // ist ein Verzeichnis { if (sr.Name[1] != '.') // Verzeichnisname ist nicht '.' oder '..', steht { // also nicht für die höheren Verzeichnisebenen Directory = StartDirectory + (AnsiString)sr.Name + "\\"; GetFileList(Liste, Directory); } } else // ist normale Datei { pFiledata Item = new tFiledata; Item->Name = sr.Name; Item->Path = StartDirectory; Item->Data = sr; Liste->Add(Item); } result=FindNext(sr); } }
Aufruf der Funktion aus deinem Programm:
TList* FileList = new TList; GetFileList(FileList, "C:\"); pFiledata Item; for(int i = 0; i < FileList->Count; i++) { Application->ProcessMessages(); Item = (pFiledata)FileList->Items[i]; if ( Item->Name == "wasweißich" ) { ...................... } }
-
ok schonmal vielen Dank!
-
@spool: Wir befinden uns hier in nem WinAPI-Forum!
-
[Beleidungen und Aussagen, die überhaupt nicht zum Thema passen]
-
robin schrieb:
du musst einfach auf suchen in den programmen und dann auf suchen und dann das eingeben und dann rechtsklick und dann halt löschen
Kannst du auch deutsch? If you don't understand what I am saying, I'd advise you to buy a bag of german and come back when you've learned it. Thank you!
-
robin schrieb:
[Beleidungen und Aussagen, die überhaupt nicht zum Thema passen]
Ich wäre dafür das es für diesen Post mal 'ne fette Verwarnung von einem Mod/Admin gibt!
Nicht nur, das das Ding vollkommen am Thema vorbei geht, es ist auch noch beleidigend ohne Ende...
-
Hepi schrieb:
es ist auch noch beleidigend ohne Ende...
Yes! Deregistrierung ist angesagt!
-
WebFritzi schrieb:
Yes! Deregistrierung ist angesagt!
robin wird nichts mehr posten.