Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

mit perl komplettes Verzeichniss löschen (auch wenn noch dateien drin sind) unter xp

Mitglied: xplayer2005

xplayer2005 (Level 1) - Jetzt verbinden

07.11.2006, aktualisiert 14.11.2006, 10024 Aufrufe, 8 Kommentare

hallo,

gibt es einen perl Befehl um verzeichnisse komplett inc. untervereichnissen zu löschen.

nenn nein: wie kann ich das umsetzen?

bedanke mich im vorraus
Mitglied: 6890
07.11.2006 um 19:25 Uhr
ja hallo,

dafür gibt es das modul File::Remove, kannste dir ja mal anschauen:
http://search.cpan.org/~adamk/File-Remove-0.34/lib/File/Remove.pm

mfg godlike P
Bitte warten ..
Mitglied: 6890
07.11.2006 um 19:35 Uhr
falls du dir keine module installieren kannst, so funktionierts auch :
01.
#!/usr/local/bin/perl 
02.
 
03.
use strict; 
04.
 
05.
my $dir="test"; 
06.
opendir(DIR,$dir)or die "$!"; 
07.
my @remove = readdir(DIR); 
08.
close(DIR); 
09.
foreach(@remove){ 
10.
unlink("$dir/$_"); 
11.
12.
rmdir($dir) or die $!;
mfg godlike P
Bitte warten ..
Mitglied: Biber
07.11.2006 um 19:38 Uhr
@Godlike
Das gefällt mir... nicht so langatmig wie Batch...

5 Stars mit auf den Weg.

Gruß
Biber
Bitte warten ..
Mitglied: 6890
07.11.2006 um 20:07 Uhr
@godlike
Das gefällt mir... nicht so langatmig
wie Batch...

5 Stars mit auf den Weg.

Gruß
Biber

danke danke...
dafür kann ich leider gar kein batch
wir könn ja mal so wechselseitiges training machen batch <==> perl

mfg
Bitte warten ..
Mitglied: xplayer2005
08.11.2006 um 09:57 Uhr
ich bekomm da die meldung...

Permission denied at C:/Documents and Settings/d048045/My Documents/_eclipseWorkspace/test2/225.pl line 15.


line15: rmdir($delpath) or die $!;



sorry hab vergessen zu sagen: ich wil das skript auf xp unde server 2003 ausführen..
Bitte warten ..
Mitglied: 6890
08.11.2006 um 15:27 Uhr
ich bekomm da die meldung...

Permission denied at C:/Documents and
Settings/d048045/My
Documents/_eclipseWorkspace/test2/225.pl line
15.

als welcher benutzer führst du das script aus??
denn das heisst das dir das löschen mangels rechten verwehrt wurde!!

mfg godlike P
Bitte warten ..
Mitglied: 6890
09.11.2006 um 20:56 Uhr
abend,

hab mal ein script geschrieben welches
ordner für ordner durchgeht und alte
dateien und ordner löscht, kommentiert
ist es auch:
01.
#!c:/perl/bin/perl 
02.
 
03.
# das sind module für strictes programmieren und warnungen 
04.
use strict; 
05.
use warnings; 
06.
 
07.
# ein paar konstanten 
08.
use constant LOESCHEN => 0; 
09.
use constant BEHALTEN => 1; 
10.
use constant DELETED => -1; 
11.
 
12.
# dein ordner wo drinne gelöscht werden soll 
13.
my $dir = "D:/SCRIPTE/ADMINISTRATOR/test1"; 
14.
 
15.
# das log file 
16.
my $logFile = "$dir/log.txt"; 
17.
my @allFiles; 
18.
my %allFiles; 
19.
my $lastMod; 
20.
 
21.
# zeitpunkt minus 5 tage also alt die dateien und ordner höchstens sein dürfen 
22.
my $back5days = (time()-(86400*5)); 
23.
 
24.
# hier springt er in die sub cd 
25.
&cd($dir); 
26.
 
27.
# alle dateien durchgehen und schauen ob sie älter als 5 tage sind 
28.
# ordner werden automatisch auf löschen gesetzt 
29.
foreach(@allFiles) { 
30.
    $lastMod = (stat($_))[9]; 
31.
    $allFiles{$_} = BEHALTEN if(($lastMod - $back5days) > 0 && -f $_); 
32.
    $allFiles{$_} = LOESCHEN if(($lastMod - $back5days) < 0 && -f $_); 
33.
    $allFiles{$_} = LOESCHEN if -d $_; 
34.
35.
 
36.
# die dateien löschen die älter als 5 tage sind 
37.
foreach(keys(%allFiles)) { 
38.
    if ($allFiles{$_} == LOESCHEN && -f $_) { 
39.
        $allFiles{$_} = DELETED if unlink($_); 
40.
41.
42.
 
43.
# die ordner löschen die leer sind 
44.
# rmdir löscht nur leere ordner 
45.
foreach(keys(%allFiles)) { 
46.
    if ($allFiles{$_} == LOESCHEN && -d $_) { 
47.
        $allFiles{$_} = DELETED if rmdir($_); 
48.
49.
50.
 
51.
# den ganzen spass in ne log datei schreiben 
52.
&loggen(); 
53.
 
54.
# logdatei schreiben 
55.
sub loggen { 
56.
    open(LOGFILE,">$logFile") or die $!; 
57.
    foreach(keys(%allFiles)) { 
58.
        print LOGFILE $_," --> "; 
59.
        print LOGFILE "File/Directory wurde geloescht...\n\n" if $allFiles{$_} == DELETED; 
60.
        print LOGFILE "File/Directory ist aktuell...\n\n" if $allFiles{$_} == BEHALTEN; 
61.
        print LOGFILE "File/Directory wurde nicht geloescht...\n\n" if $allFiles{$_} == LOESCHEN; 
62.
63.
    close(LOGFILE); 
64.
65.
 
66.
# diese recursive funktion geht in jeden ordner liest den inhalt aus und 
67.
# falls im inhalt ein ordner ist geht er auch in diesen und soweiter (recursiv halt) 
68.
# alle pfade von dateien und ordnern werden in ein array geschrieben damit 
69.
# man sie später löschen oder behalten kann 
70.
sub cd { 
71.
    my $dir = shift; 
72.
    my $base = $dir."/"; 
73.
    my @currDir; 
74.
    opendir(DIR,$dir) or die $!; 
75.
    @currDir=readdir(DIR); 
76.
    close(DIR); 
77.
    foreach(@currDir) { 
78.
        next if $_ eq '.' or $_ eq '..'; 
79.
        &cd($base.$_) if(-d $base.$_); 
80.
        push(@allFiles,$base.$_); 
81.
82.
}

falls fragen sind bitte melden
mfg godlike P
Bitte warten ..
Mitglied: xplayer2005
14.11.2006 um 11:10 Uhr
Danke bis hier her..

allerdings löcht es manchmal nicht alle Unterordner - ab und an bleiben welche stehn.. ich weis aber nicht wiso


hinweis falls jemand das script auch verwenden möchte:

Damit die Logfile funnktioniert muss hier ein > dazu - damit alles angehängt werde kannn

open(LOGFILE,">>$logFile") or die $!;
Bitte warten ..
Ähnliche Inhalte
Perl

Mit Perl aus einer Datei teilidentische Zeilen löschen

gelöst Frage von JedujaPerl5 Kommentare

Ausgangsbasis Dateizeilen: 2016-05-23 00:00 2 Ende 2016-05-23 00:00 2 Start 2016-05-23 06:46 1 Ende 2016-05-23 06:48 1 Start 2016-05-23 ...

Windows Server

Verzeichnisse löschen

Frage von MiStWindows Server2 Kommentare

Hallo, ich habe folgendes Problem. von einem Client habe ich auf einem Netzpfad (Netzwerkfreigabe) ein Verzeichnis angelegt. Wenn ich ...

Batch & Shell

Robocopy, löschen Verzeichnisse

Frage von DanielBodenseeBatch & Shell1 Kommentar

Hallo zusammen, ich gehe davon aus das Robocopy keine Verzeichnisse auf dem Ziel löschen kann bei dem er auf ...

Batch & Shell

Batch zum durchsuchen eines Verzeichnisses inkl. löschen

gelöst Frage von zeroblue2005Batch & Shell4 Kommentare

Hallo Zusammen, ich weiß garnicht, ob man das was ich vorhabe überhaupt so lösen kann aber ich lege einfach ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 1 TagE-Mail7 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 1 TagHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 1 TagSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 2 TagenServer-Hardware4 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...

Windows 10
Best Practice für Schulungsräume
Frage von Sn0wFoxWindows 1016 Kommentare

Hallo, leider bin ich auch nach langer Suche nicht auf eine zufriedenstellende Nicht-Cloud-Lösung gestoßen und wollte mal Fragen ob ...