Alle Dateien in einem Ordner löschen


Kahmoon

Erfahrenes Mitglied
Tach beisammen,

also vorerst mal. Ich bin komplett neu was PERL betrifft. Habe auch die Suche angeworfen aber irgendwie nichts passendes gefunden. Also sorry falls ich hier ein x mal erwähntes Problem durchkaue. Habt Nachsicht mit mir :D

Zu meinem Problem:
Ich muss hier für die Arbeit ein Script schreiben das mir alle Dateien in einem bestimmten Verzeichnis löscht. Je nach Serverart liegt dieses Verzeichnis auf C oder bei Terminalservern auf T. In Windows sprechen wir diese Laufwerke mit %systemdrive% an. Wir wollen aber auf lange Sicht weg von Batchfiles. Gibt es etwas adäquates in PERL?

Benötigte Funktionen:
- Prüfen ob Verzeichnis vorhanden ist
- Alle Dateien in diesem Verzeichnis löschen

Wäre nett wenn mir hier jemand weiterhelfen könnte.

Gruß
Franky
 

renee

Erfahrenes Mitglied
Code:
#!/usr/bin/perl

use strict;
use warnings;

my $dir = '/verzeichnis/';

# Handle zum Verzeichnis öffnen. Bei Fehler: Skript abbrechen und
# Fehlermeldung ausgeben
opendir my $dirhandle, $dir or die $!; 
while( my $entry = readdir $dirhandle ){ # nach und nach die Einträge im Verzeichnis holen
    my $path = $dir . '/' . $entry;
    if( -f $path ){ # wenn es eine Datei ist
        unlink $path; # lösche die Datei
    }
}
closedir $dirhandle;