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 Dateien löschen und dabei bestimmte Dateiendungen ausschließen

Mitglied: speedy4you

speedy4you (Level 1) - Jetzt verbinden

27.03.2008, aktualisiert 01.04.2008, 7953 Aufrufe, 10 Kommentare

Hallo Leute,
ich habe hier ein Script (Alte Dateien nach x Tagen löschen und dabei bestimmte Dateiendungen ausschließen) gefunden das genau das machen soll was ich benötige.

Ich habe da noch einige Fragen:
ich habe versucht das Script mit der Endung .vbs laufen zu lassen, es tut sich aber nix. Welche Dateiendung muss das Script haben?
Fehlt vielleicht bei diesem Script noch etwas?

Wenn ich das richtig verstehe gehören in der Ordnerliste.txt die Verzeichnisse die NICHT durchsucht werden sollen (z.B. C:\Sicherung).
In der Ausschluss.txt gehören die Dateiendungen die NICHT gelöscht werden sollen (z.B. .vbs).
Ist das richtig so??

Besten Dank schon einmal im voraus


hier noch mal das Script:
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
Set WSHShell = WScript.CreateObject("WScript.Shell") 
03.
On Error Resume Next 
04.
 
05.
'* hier eigenen Bedürfnissen anpassen * 
06.
 
07.
strOrdnerliste = "D:\Sicherung\Ordnerliste.txt" 
08.
strAusschlussliste = "D:\Sicherung\Ausschluss.txt" 
09.
 
10.
Set objOrdnerliste = fso.OpenTextFile(strOrdnerliste, 1) 
11.
Verzeichnis = Split(objOrdnerliste.ReadAll, vbCrLF) 
12.
objOrdnerliste.Close 
13.
 
14.
Set objAusschlussliste = fso.OpenTextFile(strAusschlussliste, 1) 
15.
If Not objAusschlussliste.AtEndOfStream Then 'falls nicht schon am Dateiende (= Datei ist leer) ... 
16.
	Exclude = objAusschlussliste.ReadLine ' ... erste Zeile lesen und speichern ... 
17.
Else 
18.
	Exclude = "" '... ansonsten gibt es keine Ausnahmen beim Löschen. 
19.
End If 
20.
 
21.
objAusschlussliste.Close 
22.
 
23.
Aufheben = 1 'Anzahl der Tage 
24.
 
25.
' * Ende der Anpassungen * 
26.
 
27.
Heute = Date() 
28.
For n = 0 To UBound(Verzeichnis)  
29.
	Set Ordner = fso.GetFolder(Verzeichnis(n)) 
30.
	DeleteInFolder(Ordner) 
31.
Next 
32.
 
33.
Sub DeleteInFolder(Ordner) 
34.
Set Dateien = Ordner.Files 
35.
' Alle Dateien in diesem Ordner abklappern 
36.
For Each Datei In Dateien 
37.
	If Datei.DateLastModified < (Heute - Aufheben) Then 
38.
		Ext = Mid(Datei.Name, InStrRev(Datei.Name, ".")) 
39.
		If InStr(Exclude, Ext) = 0 Then 
40.
			On Error Resume Next 
41.
			Datei.Delete 
42.
			If Err And Err <> 70 Then MsgBox "Unerwarteter Fehler (Code=" & Err & ")", vbCritical: WScript.Quit 
43.
			On Error Goto 0 
44.
		End If 
45.
	End If 
46.
Next 
47.
 
48.
'Unterordner abklappern, DeleteInFolder rekursiv aufrufen 
49.
For Each Unter In Ordner.SubFolders 
50.
	DeleteInFolder(Unter) 
51.
	If (Unter.SubFolders.Count + Unter.Files.Count) = 0 Then Unter.Delete 
52.
Next 
53.
End Sub
Mitglied: bastla
27.03.2008 um 08:48 Uhr
Hallo speedy4you!

Wenn ich das richtig verstehe gehören in der Ordnerliste.txt die Verzeichnisse die NICHT durchsucht werden sollen (z.B. C:\Sicherung).
Nein, es ist umgekehrt: Die zu durchsuchenden Ordner sind (jeweils einer pro Zeile) in die "Ordnerliste.txt" zu schreiben - mehr zu diesem Script findest Du im zitierten Thread ...

Grüße
bastla

P.S.: Scripts werden besser lesbar dargestellt, wenn Du <code>-Tags verwendest.
Bitte warten ..
Mitglied: speedy4you
27.03.2008 um 09:15 Uhr
Besten Dank für die Antwort,
vielleicht stehe ich etwas auf der "Leitung" aber wie starte ich das Script???
Bitte warten ..
Mitglied: bastla
27.03.2008 um 11:05 Uhr
Hallo speedy4you!

... wie starte ich das Script?
Unter der Annahme, dass Du das Script als "C:\Scripts\DelOld.vbs" gespeichert hättest, entweder per Doppelklick oder (von der Kommandozeile bzw aus einem Batch heraus) mit
01.
cscript //nologo "C:\Scripts\DelOld.vbs"
Um eine Rückmeldung zu erhalten, könntest Du unmittelbar vor der Zeile "Sub DeleteInFolder(Ordner)" zB eine Zeile
01.
WScript.Echo "Fertig."
einbauen.

Grüße
bastla

P.S.: Danke für die Code-Formatierung, allerdings hast Du das "</code>" etwas zu früh gesetzt (sollte erst nach dem letzten "End Sub" folgen) ...
Bitte warten ..
Mitglied: speedy4you
27.03.2008 um 11:26 Uhr
jo, </code> falsch gesetzt und schon korregiert.

Ich führe das Script mit einem doppelclick aus, so wie du es beschrieben hast.
Zu sehen ist aber nix, Dateien werden auch nicht gelöscht. Ich habe deinen Tip mit der Message mal eingebaut und es läuft durch.

Wenn ich aber die beiden .txt Dateien falsch editiert habe kann auch nichts passieren.
In der Ausschluss.txt steht .txt und .log (untereinander).
Inder Ordnerliste.txt habe ich folgendes stehen: "C:\Scripte\LOG" und "C:\Scripte\txt" auch untereinander geschrieben.

Sollte doch eigendlich richtig sein.
Bitte warten ..
Mitglied: speedy4you
27.03.2008 um 11:45 Uhr
So bin schon ein Stückchen weiter. Also es werden alle angegebenen Dateien gelöscht.
Ich möchte aber das alle *0.pdf Dateien nicht gelöscht werden. Es gibt *1.pdf und *2.pdf Dateien.
Wenn ich *0.pdf in der Ausschluss.txt eingebe werden überhaupt keine pdf dateien gelöscht.
Kann mir dabei einer Helfen?

Besten Dank schon mal an alle.
Bitte warten ..
Mitglied: speedy4you
27.03.2008 um 15:39 Uhr
hat vielleicht einer eine Idee wie ich es anstellen kann , dass die *0.pdf nicht gelöscht werden?
Bitte warten ..
Mitglied: bastla
27.03.2008 um 23:27 Uhr
Hallo speedy4you!

Dazu müssen das Script und auch die Ausschlussliste etwas angepasst werden.
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
Set WSHShell = WScript.CreateObject("WScript.Shell") 
03.
On Error Resume Next 
04.
 
05.
' * hier eigenen Bedürfnissen anpassen * 
06.
strOrdnerliste = "Z:\Sicherung\Ordnerliste.txt" 
07.
strAusschlussliste = "Z:\Sicherung\Ausschluss.txt" 
08.
 
09.
Aufheben = 1 'Anzahl der Tage 
10.
' * Ende der Anpassungen * 
11.
 
12.
Set objOrdnerliste = fso.OpenTextFile(strOrdnerliste, 1) 
13.
Verzeichnis = Split(objOrdnerliste.ReadAll, vbCrLF) 
14.
objOrdnerliste.Close 
15.
 
16.
Set objAusschlussliste = fso.OpenTextFile(strAusschlussliste, 1) 
17.
Exclude = Split(objAusschlussliste.ReadAll, vbCrLF) 
18.
objAusschlussliste.Close 
19.
 
20.
Heute = Date() 
21.
For n = 0 To UBound(Verzeichnis)  
22.
	Set Ordner = fso.GetFolder(Verzeichnis(n)) 
23.
	DeleteInFolder(Ordner) 
24.
Next 
25.
 
26.
Sub DeleteInFolder(Ordner) 
27.
Set Dateien = Ordner.Files 
28.
' Alle Dateien in diesem Ordner abklappern 
29.
For Each Datei In Dateien 
30.
	If Datei.DateLastModified < (Heute - Aufheben) Then 
31.
		ToKeep = False 
32.
		For Each Ex In Exclude 
33.
			If LCase(Right(Datei.Name, Len(Ex))) = LCase(Ex) Then 
34.
				ToKeep = True 
35.
				Exit For 
36.
			End If 
37.
		Next 
38.
		If Not ToKeep Then 
39.
			On Error Resume Next 
40.
			Datei.Delete 
41.
			If Err And Err <> 70 Then MsgBox "Unerwarteter Fehler (Code=" & Err & ")", vbCritical: WScript.Quit 
42.
			On Error Goto 0 
43.
		End If 
44.
	End If 
45.
Next 
46.
 
47.
'Unterordner abklappern, DeleteInFolder rekursiv aufrufen 
48.
For Each Unter In Ordner.SubFolders 
49.
	DeleteInFolder(Unter) 
50.
	If (Unter.SubFolders.Count + Unter.Files.Count) = 0 Then Unter.Delete 
51.
Next 
52.
End Sub
Die "Ausschluss.txt" muss jetzt zeilenweise die auszuschließenden Endungen enthalten, zB:
01.
.doc 
02.
.rtf 
03.
0.pdf
"Endungen" ist dabei so zu verstehen, dass der letzte Teil des Dateinamens (inkl Extension) geprüft wird.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
31.03.2008 um 07:12 Uhr
Moin speedy4you,

klingt nett, dieses..
Besten Dank schon einmal im voraus
... aber ich kann dann immer nicht erkennen, ob die Lösungsvorschläge geholfen haben.
Gibst Du bitte noch mal Feedback im Forum?

Danke
Biber
Bitte warten ..
Mitglied: speedy4you
31.03.2008 um 07:56 Uhr
Hallo Biber,
ich habe es leider noch nicht ausprobiert, weiss nicht ob ich heute dazu komme.
Spätestens morgen werde ich aber testen und natürlich bekommst Du dann auch eine Rückinfo.

Besten Dank schon einmal im voraus.
Bitte warten ..
Mitglied: speedy4you
01.04.2008 um 10:45 Uhr
Hallo Biber,
es scheint zu funktionieren. Werde es aber noch genauer testen müssen.
Besten Dank für die Hilfe.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateien in einen Ordner zählen mit einer bestimmten Dateiendung

Frage von tommhiiBatch & Shell4 Kommentare

Hallo , ich hab da mal ne Frage ich möchte in einen bestimmten Ordner nur Dateien mit der Endung ...

Batch & Shell

Löschen von Dateien nach bestimmten Zeitmuster

gelöst Frage von NetzwerkDudeBatch & Shell8 Kommentare

Moin, Situation: ein selbstgebautes Backupskript erstellt von Dateien täglich backups nach dem muster: Datei_2017_05_31.file Nun füllt sich der Ausgabeordner ...

Batch & Shell

Löschen aller Dateien in einem Ordner bis auf eine Bestimmte

Frage von YannoschBatch & Shell3 Kommentare

Hallo zusammen, gibt es eine zuverlässige möglichkeit per Batch oder VBS alle Daten eines Ordners ausser eine Bestimmte zu ...

Windows Server

Bestimmte Ordner bei Ordnerumleitung ausschließen

Frage von ey-joWindows Server3 Kommentare

Hallo Community, wir nutzen bei uns servergespeicherte Profile. Dort habe ich ua. die Anwendungsdaten umgeleitet. Nun startet ein Programm ...

Neue Wissensbeiträge
iOS
Updates für Iphone und Co
Information von sabines vor 2 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...