Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Microsoft

Mitglied: NeoCrown

NeoCrown (Level 1) - Jetzt verbinden

03.10.2011, aktualisiert 18.10.2012, 3169 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: http://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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Batch & Shell
gelöst Script SFTP Dateien kopieren (10)

Frage von bnfk859-forum zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...