dynamic94
Goto Top

Ordner und Dateien per VBS löschen

Hallo zusammen


Ich habe einen Ordner für die Scans. Diese werden unter "C:\scans\Meine Scans" abgelegt.
Nun möchte ich ein Script erstellen, welches alle in diesem Ordner enthaltenen Dateien und Ordner löscht, bei welchen das Erstellerdatum älter als drei Tage ist.
Das ganze soll über VBS geschehen.


Könnt Ihr mir da weiterhelfen?


Ich danke Euch herzlichst für Eure Bemühungen!


Gruss
Dynamic

Content-ID: 165236

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

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

Skyemugen
Skyemugen 27.04.2011 um 11:37:13 Uhr
Goto Top
Aloha,

und ewig dreht sich das Rad der Wiederkehr ... was ich damit ausdrücken will? Hier im Forum findest du für vbs diverse Threads, die sich damit beschäftigen, Dateien (und auch mal Unterordner) zu löschen, die älter als n-Tage sind ...

greetz André

z.B.
Dynamic94
Dynamic94 27.04.2011 um 13:17:04 Uhr
Goto Top
Zitat von @Skyemugen:
Aloha,

und ewig dreht sich das Rad der Wiederkehr ... was ich damit ausdrücken will? Hier im Forum findest du für vbs diverse
Threads, die sich damit beschäftigen, Dateien (und auch mal Unterordner) zu löschen, die älter als n-Tage sind ...

greetz André

z.B.
[
hier ...]



Moinmoin André


Danke vielmals für den Tipp! face-smile
Ich bin einiges weitergekommen, habe aber trotzdem noch eine Frage.

Ich habe nun dieses Script hier, es funktioniert auch einwandfrei. Jedoch möchte ich eine "fixe" Pfadangabe (C:\scans\Meine Scans) direkt im Code und keine "Abfragebox" am Anfang.
Wie krieg ich dies hin? Ausserdem sollte er eben auch Ordner löschen können.

Dim  objFS, myPath, myFolder, myFile, olddate 
myPath = InputBox("Bitte Pfad eingeben:", "Dateien älter als 3 Tage löschen")   
If myPath = "" Then Call DisplayInfo:  Wscript.Quit (1)   
set objFS = CreateObject("Scripting.FilesystemObject")   
If Not objFS.FolderExists(myPath) Then Call DisplayInfo:  Wscript.Quit (1) 
set myFolder = objFS.GetFolder(myPath) 
olddate = DateAdd("d", -3, Now)  '3 Tage   
for each myfile in myFolder.Files 
If myFile.DateCreated < olddate then objFS.DeleteFile myFile.Path 
next  
Wscript.Quit (0) 
Sub DisplayInfo 
MsgBox "Usage: delmyordner.vbs [FolderPath]", vbExclamation, "Missing Argument"   
End Sub



Danke für Deine Bemühungen!


Gruss
Dynamic
Dynamic94
Dynamic94 27.04.2011 um 13:37:56 Uhr
Goto Top
Sooo, bin nun doch ein Stückchen weitergekommen. face-smile
Jedoch bekomme ich nun die Fehlermeldung: 'Then' erwartet --> Zeile 28
Kannst Du mir da helfen?

'*************************************************************************   
'Dateien die älter als intTage sind löschen   
'DateLastModified=Änderungsdatum; DateCreated=Erstellungsdatum   
'WScript.Echo intZahl & " Dateien gelöscht." (Ausgabe gelöschter Dateien)   
'*************************************************************************   

Set objFSO = CreateObject("Scripting.FileSystemObject")   
strOrdner = "C:\scans\Meine Scans"			'Ordnerpfad angeben   
strExtension = ""	   
intTage = 1				'Anzahl der Tage angeben   
Set objOrdner = objFSO.GetFolder(strOrdner) 
intZahl = 0 
For Each objDatei In objOrdner.Files 
    If LCase(Right(objDatei.name, Len(strExtension))) = LCase(strExtension) _  
        And DateDiff("d", objDatei.DateCreated, Now) > intTage Then   
        objDatei.Delete 
        intZahl = intZahl + 1 
    End If 
Next 
For Each objUnterordner In objOrdner.SubFolders  
    Doku = Doku & vbCrLf & DateDiff("d", objUnterordner.DateCreated, Now) & vbTab & objUnterordner.Name    
    If DateDiff("d", objUnterordner.DateCreated, Now) > intTage Then    
       objUnterordner.Delete
       intOrdner = intOrdner + 1  
    End If  
Next  
WScript.Echo Mid(Doku, 3)



Gruss
Dynamic
Skyemugen
Skyemugen 27.04.2011 um 14:17:04 Uhr
Goto Top
Aloha,

nein, momentan habe ich den Hals voll in der ###e Arbeit ...

VBS ist auch nicht unbedingt meine große Stärke, um ehrlich zu sein (mache oft nur Kleinigkeiten damit)

so far (erstmal)

André
TsukiSan
TsukiSan 27.04.2011 um 16:12:09 Uhr
Goto Top
Hallo Dynamic,

das Script, was du dir gesucht hast, funktioniert. Die Fehlermeldung, die du bekommst kann ich nicht nachvollziehen. Das könnte am BS liegen oder an der Jahreszeit.
Wo ich dir Recht geben könnte, dass wären klitzekleine kosmetische Sachen, die man daran ändern kann.
Aber Schönheit liegt ja immer im Sinne des Betrachters face-wink

Gruss
Tsuki