Zählen bestimmer Dateiendungen

  • VBScript

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Zählen bestimmer Dateiendungen

    Guten Morgen,
    ich habe mir ein Skript gebaut, welches alle Ordner bzw. Unterordner nach einer bestimmten Dateiendung durchsucht. Dies funktioniert soweit auch relativ problemlos. Allerdings möchte ich, dass mir am Ende die Anzahl der gefundenen Dateien ausgegeben wird. Wie könnte ich dies am besten umsetzen ?

    Visual Basic-Quellcode

    1. Dim fs, fs1
    2. Set fs = CreateObject("Scripting.FileSystemObject")
    3. Set fs1 = CreateObject("Scripting.FileSystemObject")
    4. Sub FileSearch(pfad)
    5. Dim ordner,dateien
    6. Set ordner = fs.GetFolder(pfad)
    7. Set dateien = ordner.files
    8. For Each datei In dateien
    9. On Error Resume Next
    10. If LCase(fs.GetExtensionName(datei.Name)) = "doc" Then
    11. WScript.Echo datei
    12. End If
    13. Next
    14. Set unterordner = ordner.subfolders
    15. For Each uo In unterordner
    16. On Error Resume Next
    17. FileSearch(uo)
    18. Next
    19. End Sub
    20. FileSearch ("C:\Dokumente und Einstellungen")


    Vielen Dank für Eure Bemühungen.
    Ich hab zwar noch nie was mit VBS zu tun gehabt, aber es aus neugier mal versucht, ist echt ´ne interessante Sache.

    Visual Basic-Quellcode

    1. Set fs = CreateObject("Scripting.FileSystemObject")
    2. Dim anzahl
    3. anzahl = 0
    4. Sub FileSearch(pfad)
    5. Set ordner = fs.GetFolder(pfad)
    6. Set dateien = ordner.files
    7. For Each datei In dateien
    8. On Error Resume Next
    9. If LCase(fs.GetExtensionName(datei.Name)) = "doc" Then
    10. anzahl = anzahl + 1
    11. WScript.Echo datei
    12. End If
    13. Next
    14. Set unterordner = ordner.subfolders
    15. For Each uo In unterordner
    16. on Error Resume Next
    17. FileSearch(uo)
    18. Next
    19. End Sub
    20. Sub Result
    21. If anzahl = 1 Then
    22. WScript.Echo "Es wurde 1 Datei gefunden"
    23. Else
    24. WScript.Echo "Es wurden " + CStr(anzahl) + " Dateien gefunden"
    25. End If
    26. End Sub
    27. FileSearch ("C:\Dokumente und Einstellungen")
    28. Result


    mfG

    Derfuhr
    Ich hätte diesbezüglich noch eine Frage. Jetzt möchte ich anschließend diese Dateien kopieren, da die Menge der DOC-Dateien nicht unerheblich ist, würde seine eine Art "Fortschrittsbalken" wie er in Windows existiert anbieten. Ich habe in Bezug darauf auch schon etwas gefunden, jedoch funktioniert es noch nicht richtig.

    Visual Basic-Quellcode

    1. quelle = datei
    2. StrZielOrdner = "C:\Test"
    3. Set FSO = CreateObject("Scripting.FileSystemObject")
    4. Set Shell = CreateObject("Shell.Application")
    5. Set Ordner = ObjShell.NameSpace(StrZielOrdner)
    6. ObjOrdner.CopyHere quelle


    Er kopiert hierbei immer den gesamten Ordner und lässt die Vorüberprüfung

    Visual Basic-Quellcode

    1. If LCase(fs.GetExtensionName(datei.Name)) = "doc" Then
    weg.