ria-ingo

VBS: Auflistung aller Dateien mit A Flag rekursiv im Verzeichnisbaum

Hallo zusammen,
ich habe Dennis Bistron Script auf seiner Webseite blog.bistron.eu/scripting/e-mail-benachrichtigung-bei-neuenveral ... so modifiziert, das es alle Dateien mit Archiv Flag auflistet.
Das macht es auch wunderbar, allerdings nur im aktuellen Verzeichnis.
Leider benötige ich das nun mit allen Dateien incl. Pfad des Unterverzeichnisses und des Dateinamens.

Ich bekomme den Loop nicht hin, auch Unterverzeichnisse zu durchforsten.
Hat da jemand vielleicht ein Codeschnipsel für mich parat ?

vielen Dank im Voraus
Lg Ingo


CONST F_ATTR_HIDDEN = 2
CONST F_ATTR_STANDARD = 32 ‘ Normal ist nur Attribut Archiv

Function getArchivFlag(strF)

Set MyFSO = CreateObject(“Scripting.FileSystemObject”)
Set oFS=MyFSO.GetFile(strF) ‘ obj File Source

If oFS.Attributes AND F_ATTR_STANDARD Then
getArchivFlag = “true”
‘Danach wird das Archivflag wegegnommen
oFS.Attributes=oFS.attributes-32
End If

End Function

Danach darauf abgefragt und alle Dateien in die E-Mail gepackt, nicht nur die Letzte :

‘* Neustes Objekt ermitteln
For Each objF In colObj
strFName = objF.Name
‘* Test Endung
If IsEmpty(strExt) Or LCase(Right(strFName, intLenExt)) = LCase(strExt) Then
intFAge = getArchivFlag(objF.Path)

If intFAge = “true” then
‘strNewestF = objF.Name
strNewestF = strNewestF & objF.Name & vbCRLF

End if
End If
Next
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 208770

Url: https://administrator.de/forum/vbs-auflistung-aller-dateien-mit-a-flag-rekursiv-im-verzeichnisbaum-208770.html

Ausgedruckt am: 18.07.2025 um 03:07 Uhr

bastla
bastla 27.06.2013 aktualisiert um 19:54:19 Uhr
Hallo RIA-Ingo!

Der "Changes.txt" des verlinkten Scripts entnehme ich
06.05.2013
- Option -ca: Erkennung neuer Dateien am Archiv-Attribut
- Option -ra: Gesetztes Archiv-Attribut entfernen
- Option -s: Durchsuchen von Unterordnern
- MAXFILES neuste Objekte werden in E-Mail aufgelistet
- sollte doch eigentlich alles leisten, was Du Dir wünschst (hinsichtlich der Rekursion siehe Zeilen 152 bis 154) ...

... und nur zur Sicherheit: Wenn Du alle Dateien aufgelistet haben willst, musst Du MAXFILES auf 0 setzen.

Grüße
bastla

P.S.: Ich weiß ja nicht, ob es in Kommentaren in Bistrons Blog eine Möglichkeit gibt, Code passend zu formatieren - hier geht's auf jeden Fall (und auch noch nachträglich face-wink): Formatierungen in den Beiträgen
Biber
Biber 08.07.2013, aktualisiert am 09.07.2013 um 09:54:38 Uhr
Moin, RIA-Ingo,

fände ich eigentlich schade, diesen Beitrag in die Tonne zu kloppen - aber im jetzigen Zustand nützt er ja den nachfolgenden Generationen absolutely nothing.

Magst du vielleicht doch mal Feedback zu bastlas Lösungsvorschlag geben?

Und um der Frage zuvorzukommen:
Nein, es bereitet mir kein Vergnügen, anderen Erwachsenen erklären zu müssen, wie ein Forum in einer idealen Welt funktionieren würde.

Grüße
Biber
RIA-Ingo
RIA-Ingo 09.07.2013 um 09:00:56 Uhr
Hallo Biber,

gerne face-smile

(Ich finde es am Schlimmsten, wenn jemand schreibt, Problem gelöst, aber nicht , wie)
Also, das Script habe ich aus Zeitgründen nicht testen können.
Wir werden jetzt doch die eingebauten Funktionen von Robocopy benutzen. Der Kernstring sieht so aus:

robocopy %source% %target% /XD _Uploads* /R:0 /NP /NDL /MIR /NJH /LOG+:%Destination%-MirrorResult

Der "Summary Report" von Robocopy reicht erstmal.
Wenn ich mal wieder Luft habe (vielleicht kurz vor der Rente) werde ich das Script vielleicht optimieren.

Lg Ingo