Durchsuchen von Unterordner

  • VBScript

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Kugozed.

    Durchsuchen von Unterordner

    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:

    Visual Basic-Quellcode

    1. var_Verzeichnis_1 = "Y:\Scripting\Beispiele\Test\a" ' Hier wird gesucht!
    2. var_Verzeichnis_2 = "Y:\Scripting\Beispiele\Test\k" ' Hier wird gesucht!
    3. var_logfile = "Y:\Scripting\Beispiele\test.log" ' Hier wird das Logfile abgelegt.
    4. var_zeit = 5 ' Anzahl Stunden
    5. Dim var_datei
    6. Dim var_dateien
    7. Dim var_untere
    8. var_forAppending = 8
    9. MoveLog(var_logfile)
    10. Set var_fs = CreateObject("Scripting.FileSystemObject")
    11. var_fs.CreateTextFile(var_logfile)
    12. Set var_os = var_fs.GetFile(var_logfile)
    13. Set var_os2 = var_os.OpenAsTextStream(var_forAppending, 0)
    14. var_heute = Date()
    15. Set var_fso = CreateObject("Scripting.FileSystemObject")
    16. Set var_ordner = var_fso.GetFolder(var_Verzeichnis_1)
    17. var_os2.writeline("Job vom " & var_heute & " im Orner " & var_ordner & " und dessen Unterverzeichnissen")
    18. SuchenInFolder(var_ordner)
    19. Set var_ordner = var_fso.GetFolder(var_Verzeichnis_2)
    20. var_os2.writeblanklines 1 'Schreibt eine Leere Zeile
    21. var_os2.writeline("Job vom " & var_heute & " im Orner " & var_ordner & " und dessen Unterverzeichnissen")
    22. SuchenInFolder(var_ordner)
    23. ' Möglichkeit noch mehrer Verzeichnise zu durchsuchen
    24. Wscript.Echo "Fertig"
    25. var_os2.Close()
    26. Sub SuchenInFolder(var_ordner)
    27. Set var_dateien = var_ordner.Files
    28. ' Alle Dateien in diesem Ordner abklappern
    29. For Each var_datei In var_dateien
    30. If DateDiff("h", var_heute, var_datei.DateCreated) < var_zeit Then
    31. var_os2.writeline( var_datei.Path & " vom " & var_datei.DateCreated )
    32. 'WScript.Echo var_datei.Path & " vom " & var_datei.DateCreated
    33. End If
    34. Next
    35. Set var_untere = var_ordner.SubFolders
    36. ' Alle Unterordner abklappern, SuchenInFolder rekursiv aufrufen
    37. For Each var_unter In var_untere
    38. SuchenInFolder var_unter
    39. For Each var_datei In var_dateien
    40. If DateDiff("h", var_heute, var_datei.DateCreated) < var_zeit Then
    41. var_os2.writeline( var_datei.Path & " vom " & var_datei.DateCreated )
    42. 'WScript.Echo var_datei.Path & " vom " & var_datei.DateCreated
    43. End If
    44. Next
    45. NEXT
    46. End Sub
    47. Sub MoveLog(var_logfilename)
    48. On Error Resume Next
    49. Set fso = CreateObject("Scripting.FileSystemObject")
    50. var_oldlogname = var_logfilename & ".old"
    51. Set var_f2 = fso.GetFile(var_oldlogname)
    52. var_f2.Delete
    53. Set var_f2 = fso.GetFile(var_logfilename)
    54. var_f2.Move(var_oldlogname)
    55. End Sub


    Edit by Mad Andy:
    VB-Tag eingefügt. Bitte selbst machen!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()