Ich möchte ein Script schreiben, welches mir in mehreren Verzeichnissen und deren vielen Unterordner alle Files sucht, wo das Erstellungsdatum 5h zurückliegt. Die Filenamen sollen dann mit dem Erstellungsdatum und Zeit in eine txt Datei geschrieben werden. Das funktioniert auch alles, aber das Script kommt in den Verzeichnissen nur 2 Unterordner tief und nicht weiter. Kann mir jemand weiter helfen?
Hier mein Code:
Edit by Mad Andy:
VB-Tag eingefügt. Bitte selbst machen!
Hier mein Code:
Visual Basic-Quellcode
- var_Verzeichnis_1 = "Y:\Scripting\Beispiele\Test\a" ' Hier wird gesucht!
- var_Verzeichnis_2 = "Y:\Scripting\Beispiele\Test\k" ' Hier wird gesucht!
- var_logfile = "Y:\Scripting\Beispiele\test.log" ' Hier wird das Logfile abgelegt.
- var_zeit = 5 ' Anzahl Stunden
- Dim var_datei
- Dim var_dateien
- Dim var_untere
- var_forAppending = 8
- MoveLog(var_logfile)
- Set var_fs = CreateObject("Scripting.FileSystemObject")
- var_fs.CreateTextFile(var_logfile)
- Set var_os = var_fs.GetFile(var_logfile)
- Set var_os2 = var_os.OpenAsTextStream(var_forAppending, 0)
- var_heute = Date()
- Set var_fso = CreateObject("Scripting.FileSystemObject")
- Set var_ordner = var_fso.GetFolder(var_Verzeichnis_1)
- var_os2.writeline("Job vom " & var_heute & " im Orner " & var_ordner & " und dessen Unterverzeichnissen")
- SuchenInFolder(var_ordner)
- Set var_ordner = var_fso.GetFolder(var_Verzeichnis_2)
- var_os2.writeblanklines 1 'Schreibt eine Leere Zeile
- var_os2.writeline("Job vom " & var_heute & " im Orner " & var_ordner & " und dessen Unterverzeichnissen")
- SuchenInFolder(var_ordner)
- ' Möglichkeit noch mehrer Verzeichnise zu durchsuchen
- Wscript.Echo "Fertig"
- var_os2.Close()
- Sub SuchenInFolder(var_ordner)
- Set var_dateien = var_ordner.Files
- ' Alle Dateien in diesem Ordner abklappern
- For Each var_datei In var_dateien
- If DateDiff("h", var_heute, var_datei.DateCreated) < var_zeit Then
- var_os2.writeline( var_datei.Path & " vom " & var_datei.DateCreated )
- 'WScript.Echo var_datei.Path & " vom " & var_datei.DateCreated
- End If
- Next
- Set var_untere = var_ordner.SubFolders
- ' Alle Unterordner abklappern, SuchenInFolder rekursiv aufrufen
- For Each var_unter In var_untere
- SuchenInFolder var_unter
- For Each var_datei In var_dateien
- If DateDiff("h", var_heute, var_datei.DateCreated) < var_zeit Then
- var_os2.writeline( var_datei.Path & " vom " & var_datei.DateCreated )
- 'WScript.Echo var_datei.Path & " vom " & var_datei.DateCreated
- End If
- Next
- NEXT
- End Sub
- Sub MoveLog(var_logfilename)
- On Error Resume Next
- Set fso = CreateObject("Scripting.FileSystemObject")
- var_oldlogname = var_logfilename & ".old"
- Set var_f2 = fso.GetFile(var_oldlogname)
- var_f2.Delete
- Set var_f2 = fso.GetFile(var_logfilename)
- var_f2.Move(var_oldlogname)
- End Sub
Edit by Mad Andy:
VB-Tag eingefügt. Bitte selbst machen!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()