VBS: Auflistung aller Dateien mit A Flag rekursiv im Verzeichnisbaum
Hallo zusammen,
ich habe Dennis Bistron Script auf seiner Webseite http://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
ich habe Dennis Bistron Script auf seiner Webseite http://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
Please also mark the comments that contributed to the solution of the article
Content-Key: 208770
Url: https://administrator.de/contentid/208770
Printed on: May 4, 2024 at 11:05 o'clock
3 Comments
Latest comment
Hallo RIA-Ingo!
Der "Changes.txt" des verlinkten Scripts entnehme ich
- 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
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 ): Formatting instructions in the posts
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
... 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 ): Formatting instructions in the posts
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
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