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

gelöst VBS Script um bestimmte Dateien die älter als x Tage sind und im Namen -xyz- enthalten zu löschen

Mitglied: NeoCrown

NeoCrown (Level 1) - Jetzt verbinden

03.10.2011, aktualisiert 18.10.2012, 3271 Aufrufe, 6 Kommentare

Hallo zusammen

Ich suche schon lange verzweifelt ohne Erfolg ein VBS Script, mit dem ich Dateien aus einem Ordner löschen kann,
die älter als x Tage sind und im Namen ein bestimmten Teil/Wort enthalten zB. *xyz*.
Wenn mir vieleicht jemand ein Beispiel hätte, um dieses Problem zu lösen, wäre ich sehr dankbar.
Ich darf nur ein VBS Skript verwenden, nichts anderes.

Grüsse NeoCrown
Mitglied: bastla
03.10.2011, aktualisiert 18.10.2012
Hallo NeoCrown und willkommen im Forum!

ZB: https://www.administrator.de/forum/l%c3%b6schen-von-alten-dateien-und-ve ...

Grüße
bastla
Bitte warten ..
Mitglied: NeoCrown
04.10.2011 um 08:49 Uhr
Hallo Bastla

Danke für deine Antwort. Leider nützt mir ein Ausschussverfahren nicht viel, da ich etwa 100 Ausschlüsse machen müsste.
Ich will wirklich nur Dateien die in meinem Fall zB. "BOOKINGSave201110030954" heissen löschen, also Wörter die den Teil
"Bookingsave2011" enthalten und älter als ein Tag sind.

Grüsse
Bitte warten ..
Mitglied: bastla
04.10.2011 um 09:24 Uhr
Hallo NeoCrown!

Und die Umkehrung von
If InStr(1, Exclude, Datei.Name & "#", vbTextCompare) = 0 Then
bekommst Du nicht selbst hin (Du hattest ja nur nach einem Beispiel gefragt)?

Im einfachsten Fall wäre das zB
If InStr(1, Datei.Name, "Bookingsave2011", vbTextCompare) <> 0 Then
oder (um nur solche zu "erwischen", bei denen der Suchbegriff am Anfang des Dateinamens steht)
01.
Suche = LCase("Bookingsave2011") 
02.
... 
03.
If LCase(Left(Datei.Name, Len(Suche))) = Suche Then
Beides übrigens ungetestet ...

Grüße
bastla
Bitte warten ..
Mitglied: NeoCrown
04.10.2011 um 11:47 Uhr
Hallo!

Nein ich krieg das nicht hin weil ich keine grosse Ahnung habe von VB Scripts :D
Habe ich vergessen zu erwähnen...

edit:

auf welches Script beziest Du dich überhaupt mit deiner Änderung?

möglicherweise krieg ichs dan hin =)

Grüsse
Bitte warten ..
Mitglied: bastla
04.10.2011 um 22:05 Uhr
Hallo NeoCrown!

Am leichtesten anpassbar sollte diese Version sein:
01.
Set fso = CreateObject("Scripting.FileSystemObject")  
02.
Set WSHShell = WScript.CreateObject("WScript.Shell")  
03.
'On Error Resume Next '## während der Testphase kontraproduktiv ## 
04.
 
05.
' * hier eigenen Bedürfnissen anpassen *  
06.
strOrdnerliste = "C:\Dokumente und Einstellungen\pweberling\Desktop\Ordnerliste.txt"  
07.
strAusschlussliste = "C:\Dokumente und Einstellungen\pweberling\Desktop\Ausschluss.txt"  
08.
Aufheben = 3 'Anzahl der Tage  
09.
' * Ende der Anpassungen *  
10.
 
11.
Set objOrdnerliste = fso.OpenTextFile(strOrdnerliste)  
12.
Verzeichnis = Split(objOrdnerliste.ReadAll, vbCrLF)  
13.
objOrdnerliste.Close  
14.
Set objAusschlussliste = fso.OpenTextFile(strAusschlussliste)  
15.
Exclude = "#" & Replace(objAusschlussliste.ReadAll, vbCrLF, "#") & "#" 
16.
objAusschlussliste.Close  
17.
 
18.
Heute = Date()  
19.
 
20.
For n = 0 To UBound(Verzeichnis)   
21.
    Set Ordner = fso.GetFolder(Verzeichnis(n))  
22.
    DeleteInFolder(Ordner)  
23.
Next  
24.
 
25.
Sub DeleteInFolder(Ordner)  
26.
Set Dateien = Ordner.Files  
27.
' Alle Dateien in diesem Ordner abklappern  
28.
For Each Datei In Dateien  
29.
    If Datei.DateLastModified < (Heute - Aufheben) Then 
30.
        'nur Dateien, deren Name nicht wie ein Eintrag der Ausschlussliste endet 
31.
        '(für exakte Übereinstimmung - außer Groß-/Kleinschreibung - wäre 
32.
        '"#" & Datei.Name & "#" 
33.
        'zu verwenden) 
34.
        If InStr(1, Exclude, Datei.Name & "#", vbTextCompare) = 0 Then 
35.
            On Error Resume Next 
36.
            WScript.Echo "-" &Datei.DateLastModified&" "&Datei.Path 'Datei.Delete 
37.
            If Err And Err <> 70 Then MsgBox "Unerwarteter Fehler (Code=" & Err & ")", vbCritical: WScript.Quit  
38.
            On Error Goto 0  
39.
        End If  
40.
    End If  
41.
Next 
42.
 
43.
'Unterordner abklappern, DeleteInFolder rekursiv aufrufen  
44.
For Each Unter In Ordner.SubFolders 
45.
    'nur Ordner, deren Name nicht wie ein Eintrag der Ausschlussliste endet 
46.
    If InStr(1, Exclude, Unter.Name & "#", vbTextCompare) = 0 Then  
47.
        DeleteInFolder(Unter) 
48.
        If (Unter.SubFolders.Count + Unter.Files.Count) = 0 Then WScript.Echo "--"&Unter.Path 'Unter.Delete 
49.
    End If 
50.
Next  
51.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.10.2011 um 16:21 Uhr
Moin NeoCrown,

Nachfrage: gibt es denn noch irgendwelche Bewegungen in diesem Beitrag oder kann ich den entsorgen?

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Basic

VBS Script: Dateien älter als x Tage löschen

gelöst Frage von KnuefiBasic4 Kommentare

Hallo zusammen, ich habe eine Frage. Ich bin auf der Suche nach ein Script das Dateien älter als x ...

Batch & Shell

Alle Datein löschen die älter als x Tage sind

Frage von Roadrunner0815Batch & Shell3 Kommentare

Hallo an Alle! Ich brauche mal einen kleinen Denkanstoß zu folgender Problemstellung Ich möchte: - auf einem Laufwerk K: ...

Windows Server

Dateien löschen mit Forfiles, welche älter als x Tage sind

Frage von kellbiddenWindows Server4 Kommentare

Hallo Ich habe ein Script geschrieben, um Unterverzeichnise in einem Folder zu löschen. Dazu habe ich ForFile benutzt. ForFile.exe ...

Batch & Shell

Powershell: Ein Verzeichnis löschen, wenn eine spezielle Datei darin älter ist, als X Tage

gelöst Frage von fraggle666Batch & Shell4 Kommentare

Hallo zusammen, ich bin gerade dabei einen sehr großen Roaming Profile Share zu bereinigen. 60% aller dort gelisteten Profile ...

Neue Wissensbeiträge
iOS
IOS 11.2.6 verfügbar
Information von sabines vor 2 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 16 StundenSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 1 TagErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server38 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless15 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...