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

Rekursives Löschscript! - Wo ist der Fehler?

Frage Entwicklung VB for Applications

Mitglied: chrizz-at

chrizz-at (Level 1) - Jetzt verbinden

05.12.2008 um 09:03 Uhr, 2583 Aufrufe

Hallo liebe Gemeinde!

Ich habe hier ein Rekursives Löschscript selbst geschrieben, welches Dateien einzeln löscht (die die älter als 14 Tage sind).
Eine Error-Logdatei wird auch erstellt, funktioniert alles so wie es soll.

Nur steht aber auch in der Errorlog etwas was da nicht hingehört! siehe script code!
(Den Ordner habe ich gesperrt, das stimmt so aber das davor -> 2x "Grund: Objekt erforderlich" soll weg)
01.
------- Errorlog ----------- 
02.
 
03.
Grund: Objekt erforderlich 
04.
 
05.
Grund: Objekt erforderlich 
06.
 
07.
05.12.2008 10:06:47: 
08.
Fehler beim Löschen von Ordner: Neuer Ordner (Pfad: C:\VTPFiles\Neuer Ordner) 
09.
Grund: Erlaubnis verweigert. 
10.
 
11.
 
12.
-------- SCRIPT ------------ 
13.
 
14.
 
15.
Option Explicit 
16.
On Error Resume Next 
17.
 
18.
' Konstanten definieren 
19.
Const dir = "C:\VTPFiles" 
20.
Const tage = "14" 
21.
Const logdir = "C:\Logs" 
22.
 
23.
 
24.
' Variablen Definieren 
25.
Dim ErrorLog, ErrorFile, FSO 
26.
 
27.
' Log Files öffnen 
28.
Set FSO = CreateObject("Scripting.FileSystemObject") 
29.
 
30.
' Wenn der Logordner nicht existiert -> erstellen 
31.
If not FSO.Folderexists(logdir) then 
32.
FSO.CreateFolder(logdir) 
33.
End if 
34.
 
35.
Set ErrorFile = FSO.OpenTextFile(logdir & "\" & Date & "_error.log",8,true) 
36.
 
37.
' Datumsfunktion für Dateialter 
38.
Dim alter 
39.
alter = FormatDateTime(Date - tage, 2) 
40.
 
41.
Hauptscript dir, alter 
42.
 
43.
private Sub Hauptscript(dir, alter) 
44.
	' Deklaration der Variablen 
45.
	Dim FSO, Verzeichnis, UnterVerzeichnis, Datei, uDatei 
46.
	 
47.
	' Objekt erzeugen 
48.
	Set FSO = CreateObject("Scripting.FileSystemObject") 
49.
	 
50.
	' Referenz auf SourceOrdner 
51.
	Set Verzeichnis = FSO.GetFolder(dir) 
52.
	 
53.
	' Files löschen (die älter als x tage sind)  
54.
	On Error Resume Next 
55.
	For Each Datei in Verzeichnis.Files 
56.
		If Datediff("d", FormatDateTime(Datei.DateLastmodified, 2), alter) > 0 then 
57.
		Datei.Delete 
58.
			If Err.Number <> 0 then 
59.
					ErrorFile.Writeline(Now() &":" & vbCrLf & "Fehler beim Löschen von Datei: " & Datei.Name & " (Pfad: " & Datei.Path & ")") 
60.
					Errorfile.Writeline("Grund: " & Err.Description & vbCrLf) 
61.
					Err.Clear 
62.
			End if 
63.
		End if 
64.
	Next 
65.
	 
66.
	' Alle Unterverzeichnisse 
67.
	On Error Resume Next 
68.
	For Each UnterVerzeichnis in Verzeichnis.Subfolders 
69.
		' Erneuter Aufruf mit dem Unterverzeichnis 
70.
		Hauptscript dir & "\" & UnterVerzeichnis.Name, alter 
71.
			 
72.
		' Leere (Unter)Ordner löschen 
73.
		If UnterVerzeichnis.Files.Count = 0 then 
74.
			UnterVerzeichnis.Delete 
75.
				If Err.Number <> 0 then 
76.
					ErrorFile.Writeline(Now() &":" & vbCrLf & "Fehler beim Löschen von Ordner: " & UnterVerzeichnis.Name & " (Pfad: " & Unterverzeichnis.Path & ")") 
77.
					Errorfile.Writeline("Grund: " & Err.Description & vbCrLf) 
78.
					Err.Clear 
79.
				End if 
80.
		End if 
81.
	Next 
82.
End Sub 
83.
Errorfile.Close
(Für verbesserungsvorschläge des scriptes bin ich offen )
Danke für eure Hilfe!


lg chris
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Switche und Hubs
gelöst Trunk für 2xCisco Switch. Wo liegt der Fehler? (43)

Frage von JayyyH zum Thema Switche und Hubs ...

Vmware
Veeam für VM Ware Backup Fehler (2)

Frage von JoergN1968 zum Thema Vmware ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...