Announcement

Collapse
No announcement yet.

Mehrere Dateien auf einmal löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mehrere Dateien auf einmal löschen

    Wie kann ich z.B alle Dateien mit *.zip in einem Verzeichnis auf einmal löschen?

  • #2
    Hallo,

    mit dem folgenden Beispiel können alle Dateien (einschliesslich Unterverzeichnisse) eines Verzeichnisses gelöscht werden:
    <pre>
    procedure TForm1.ButtonDeleteDirClick(Sender: TObject);
    var
    aSHFOS : TSHFileOpStruct;
    szFrom : array[0..128] of Char;
    begin
    // Puffervariablen initialisieren (Doppel-Null!)
    FillChar(aSHFOS, Sizeof(aSHFOS), #0);
    FillChar(szFrom, Sizeof(szFrom), #0);
    // Zu löschendes Verzeichnis definieren
    StrPCopy(szFrom, 'C:\Test\StdOut');
    with aSHFOS do
    begin
    Wnd := Handle;
    wFunc := FO_DELETE;
    pFrom := @szFrom;
    fFlags := FOF_NOCONFIRMATION or FOF_ALLOWUNDO;
    fAnyOperationsAborted := False;
    end;
    ShFileOperation(aSHFOS);
    end;
    </pre>

    Wenn die Suchmaske entsprechend geändert wird, kann der Löschvorgang auf Dateien von einem bestimmten Typ beschränkt werden

    Comment


    • #3
      Herzlichen Dank!
      Viele Grüsse Pete

      Comment


      • #4
        Zum Thema Unterverzeichnisse löschen:<br>
        Unter Win 95/98 funktioniert das wunderbar.<br>
        Möchte man unter Windows NT 4 z.B. 'C:\Test\StdOut' die Unterverzeichnisse mit darin befindlichen Dateien löschen und der Anwender hat im Explorer das Unterverzeichnis geöffnet, dann verhindert NT das Löschen, eine entsprechende Fehlermeldung wird angezeigt. Um diesen Effekt nachzuvollziehen muß man im Explorer nur das Unterverzeichnis 'StdOut' öffnen, mit der rechte Maustaste auf 'Test' klicken und im Menü 'Löschen' wählen, NT wird das Löschen nicht zulassen.<br>
        Wie kann ich mit Delphi vorab testen oder sicherstellen, das der bewußt gewollte Löschvorgang auch unter NT funktioniert

        Comment

        Working...
        X