gansterjo2
Goto Top

VBS: Fehler 800A01B6

Hallo Zusammen

Ich habe ein Problem und zwar kommt jedes Mal, wenn ich das Script ausführe ein bestimmter Fehler und ich weiss nicht, wie ich das umgehen kann.

Der Fehler ist:

Skript: C:\Users\<Benutzername>\Desktop\<skriptname>.vbs
Zeile: 50
Zeichen: 2
Fehler: Das Objekt unterstützt diese eigenschaft oder Methode nicht.: 'objDatei.DateModified'
Code: 800A01B6
Quelle: Laufzeitfehler in MIcrosoft VBScript

Was kann ich dagegen machen?

Das Script ist diese hier:

'On Error Resume Next  

Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objMessage = CreateObject("CDO.Message")  

Dim fso
Dim objLogFile

Set objMessage = CreateObject("CDO.Message")   
objMessage.Subject = "Error on Script loeschen_x-x.vbs"  
objMessage.From = "errorman@loeschen.ch"   
objMessage.To = "email@domain.ch"   
objMessage.Textbody = "Es hat einen Fehler im Script gegeben bitte schauen Sie beiligendes Logscript an..."  

Set fso = CreateObject("Scripting.FileSystemObject")  
Set objLogFile = fso.OpenTextFile("C:\Users\<Benutzername>\Desktop\" & Date & ".log",2,true)  

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2   

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "ip"  

objMessage.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25    
objMessage.Configuration.Fields.Update


objLogFile.Writeline "##### Start - " & Now & " #####"  



if WScript.Arguments.Count = 2 Then
	strOrdner = WScript.Arguments.item(0)
	intTage = CInt(WScript.Arguments.item(1))
else
    objMessage.Textbody = "loeschen_Wichtig.vbs Verzeichnis AnzahlTage"  
	objMessage.send
	msgbox ("Syntax: loeschen_Wichtig.vbs Verzeichnis AnzahlTage")  
end if


Set objOrdner = objFSO.GetFolder(strOrdner)


intZahl = 0 'Die Variable wird auf 0 gesetzt  


For Each objDatei In objOrdner.Files
	diff = DateDiff("d", objDatei.DateModified, Now)  


	If LCase(objFSO.GetExtensionName(objDatei.name)) = "xyz" Then   


		if diff > intTage Then


			objDatei.Delete
			intZahl = intZahl + 1


		End If


	End if


Next


For Each objUnterordner In objOrdner.SubFolders


	diff = DateDiff("d", objUnterordner.Datecreated, Now)  


	Doku = Doku & vbCrLf & DateDiff("d", objUnterordner.DateModified, Now) & vbTab & objUnterordner.Name  


	If diff > intTage Then


		objUnterordner.Delete
		intOrdner = intOrdner + 1


	End If  


Next

objLogFile.Writeline Mid(Doku, 3)

objLogFile.Writeline "##### Ende - " & Now & " #####"  

objLogFile.close



if Err.Number <> 0 then
	objMessage.send
end if

Freundliche Grüsse

Gansterjo2

Content-ID: 214055

Url: https://administrator.de/contentid/214055

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

Dani
Dani 12.08.2013 um 16:31:19 Uhr
Goto Top
Moin Gansterjo2,
was ist der Unterschied zu der Frage die du vor 1 1/2 Stunden gestellt und gelöscht hast? Die Meldung ist doch die Selbe!


Grüße,
Dani
bastla
bastla 12.08.2013 um 16:39:26 Uhr
Goto Top
Hallo Gansterjo2!

Wird's besser, wenn Du ".DateLastModified" verwendest ?

Grüße
bastla
Gansterjo2
Gansterjo2 13.08.2013 um 07:44:37 Uhr
Goto Top
Hallo Dani

Sorry, dass ich mich erst jetzt melde... Ja es ist die selbe Meldung ich hatte ausversehen auf den löschen-Knopf gedrückt -.-

Fg Gansterjo2
Gansterjo2
Gansterjo2 13.08.2013 um 07:47:42 Uhr
Goto Top
Hallo Bastla

Vielen Dank, ich wusste nicht mehr wie diese Methode heisst...

Jetzt funktioniert das ganze einwandfrei face-smile

Gruss Gansterjo2
Dani
Dani 13.08.2013 um 10:56:21 Uhr
Goto Top
Moin,
Zitat von @Gansterjo2:
Sorry, dass ich mich erst jetzt melde... Ja es ist die selbe Meldung ich hatte ausversehen auf den löschen-Knopf
gedrückt -.-
Und ausversehen die Sicherheitsabfrage nochmal mit Löschen bzw. Ja bestätigt. Is kla!
Bitte sowas in Zukunft unterlassen.


Grüße,
Dani