Verzeichnisdatum - letzte Änderung
Moderators: Hacker, Stefan2, white
Verzeichnisdatum - letzte Änderung
Hallo,
ich brauche mal Hilfe zu folgender Problematik:
Ich muss des öfteren Projektverzeichnisse "auslagern", also auf einen
anderen Datenträger wegschreiben.
Die Projektverzeichnisse zum Auslagern wähle ich entsprechend
des Datums der letzten Änderung irgendeiner Datei in dem
Verzeichnis und den Unterverzeichnissen, die muss mindestens 3 Monate her sein.
Nun zu der Problematik:
Das Hauptverzeichnis des Projektes zeigt nicht das Datum der letzten Änderung
innerhalb der Unterverzeichnisse.
Gibt es für den TC eine Möglichkeit, das aktuell jüngste Datum innerhalb
der Unterverzeichnisse im Hauptverzeichnis anzeigen zu lassen?
Mit freundlichen Grüßen
D. Krause
ich brauche mal Hilfe zu folgender Problematik:
Ich muss des öfteren Projektverzeichnisse "auslagern", also auf einen
anderen Datenträger wegschreiben.
Die Projektverzeichnisse zum Auslagern wähle ich entsprechend
des Datums der letzten Änderung irgendeiner Datei in dem
Verzeichnis und den Unterverzeichnissen, die muss mindestens 3 Monate her sein.
Nun zu der Problematik:
Das Hauptverzeichnis des Projektes zeigt nicht das Datum der letzten Änderung
innerhalb der Unterverzeichnisse.
Gibt es für den TC eine Möglichkeit, das aktuell jüngste Datum innerhalb
der Unterverzeichnisse im Hauptverzeichnis anzeigen zu lassen?
Mit freundlichen Grüßen
D. Krause
Hallo van Dusen,
gehe ich recht in der Annahme, dass du der Autor dieses Scriptes bist?
Wie gefährlich ist denn die Anwendung auf dem Firmenserver im laufenden Betrieb?
Mich stört ein wenig, dass die Daten geändert werden, mir wäre die Beschränkung auf eine Anzeige lieber.
Hab auch schon diverse Tools und Einstellungen für benutzerdefinierte Spalten ausprobiert,
aber keines liefert mir das gewünschte Ergebnis.
Mit freundlichen Grüßen
D. Krause
gehe ich recht in der Annahme, dass du der Autor dieses Scriptes bist?

Wie gefährlich ist denn die Anwendung auf dem Firmenserver im laufenden Betrieb?
Mich stört ein wenig, dass die Daten geändert werden, mir wäre die Beschränkung auf eine Anzeige lieber.
Hab auch schon diverse Tools und Einstellungen für benutzerdefinierte Spalten ausprobiert,
aber keines liefert mir das gewünschte Ergebnis.
Mit freundlichen Grüßen
D. Krause
Hallo mykind,
SetFolderDate bietet eine Vorschau, die zunächst (rein lesend) die Datumsangaben der neuesten/ältesten Datei anzeigt. Schreibzugriffe werden erst vorgenommen, wenn man den "Ausführen"-Button drückt.
Es gibt aber doch noch eine Lösung mit benutzerdefinierten Spalten, die aber leider kriechlangsam ist, nämlich ein VBS-Script für das Script Content Plugin:
Das Script (abspeichern unter <FolderDates.vbs>):
Die INI-Datei (abspeichern unter <script.ini>):
Die Sprachen-Datei (optional) (abspeichern unter <script_folderdates.lng>):
Ich empfehle, das Script Content Plugin <script.wdx> umzubenennen nach <script_folderdates.wdx> und unter diesem neuen Namen manuell im TC zu registrieren. Auf diese Weise kann man verschiedene Scripte (und somit quasi Plugins) gleichzeitig "parat" haben, jedes unter seinem eigenen <script_*.wdx>-Namen
Anschließend eine benutzerdefinierte Spaltenansicht mit der / den gewünschten Spalten anlegen und auswählen.
SetFolderDate bietet eine Vorschau, die zunächst (rein lesend) die Datumsangaben der neuesten/ältesten Datei anzeigt. Schreibzugriffe werden erst vorgenommen, wenn man den "Ausführen"-Button drückt.
Es gibt aber doch noch eine Lösung mit benutzerdefinierten Spalten, die aber leider kriechlangsam ist, nämlich ein VBS-Script für das Script Content Plugin:
Das Script (abspeichern unter <FolderDates.vbs>):
Code: Select all
'*** FolderDates.vbs, V1.1, 12.09.2008, van Dusen
'*** FolderDates.vbs, V1.0, 15.07.2008, van Dusen
'*** Script for Script Content Plugin 0.2
'*** Lev Freidin (c) 2005-2008
'*** http://www.totalcmd.net/plugring/script_wdx.html
'*** http://wincmd.ru/plugring/script_wdx.html
'*** Benutzerkonfigurierbarer Bereich - Beginn **********************************
'vRecurse: 1 = Scan subfolders recursively; 0 = Do not scan subfolders
'vRecurse: 1 = Unterverzeichnisse rekursiv durchsuchen; 0 = Unterverzeichnisse nicht durchsuchen
Const vRecurse = 1
'vFileDateType: "LastModified" | "Created" | "LastAccessed"
Const vFileDateType = "LastModified"
'*** Benutzerkonfigurierbarer Bereich - Ende ************************************
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim vFolder
Dim vFileCollection, vFile
Dim vSubFolderCollection, vSubFolder
Dim vResult(9)
For vI = 0 To 9
vResult(vI) = ""
Next
Dim vPathParentBase, vPathFull
vPathParentBase = fso.GetParentFolderName(filename)
vPathFull = fso.GetAbsolutePathName(filename)
If fso.FolderExists(filename) Then
RecurseDir(vPathFull)
Else
Set vFile = fso.GetFile(filename)
CheckDate()
End If
'~~~
Set vSubFolderCollection = Nothing
Set vFileCollection = Nothing
Set vFolder = Nothing
Set vFile = Nothing
Set fso = Nothing
If vResult(1) = "" Then
For vI = 0 To 9
vResult(vI) = "-"
Next
Else
vResult(1) = FormatDateTime(vResult(1), 0)
vResult(4) = FormatDateTime(vResult(4), 0)
End If
content = vResult(0)
content1 = vResult(1) 'Neueste Datei: Änderungsdatum
content2 = vResult(2) 'Neueste Datei: Name
content3 = vResult(3) 'Neueste Datei: Pfad
content4 = vResult(4) 'Älteste Datei: Änderungsdatum
content5 = vResult(5) 'Älteste Datei: Name
content6 = vResult(6) 'Älteste Datei: Pfad
content7 = vResult(7) 'Größte Datei : Größe
content8 = vResult(8) 'Größte Datei : Name
content9 = vResult(9) 'Größte Datei : Pfad
'~~~
Function RecurseDir(vFolderName)
Set vFolder = fso.GetFolder(vFolderName)
Set vFileCollection = vFolder.Files
For Each vFile In vFileCollection
CheckDate()
Next
If vRecurse = 0 Then Exit Function
Set vSubFolderCollection = vFolder.SubFolders
For Each vSubFolder In vSubFolderCollection
vPathFull = vPathFull & "\" & vSubFolder.Name
RecurseDir(vPathFull)
vP = InStr(1, StrReverse(vPathFull), "\")
If vP > 0 Then vPathFull = Left(vPathFull, Len(vPathFull) - vP)
Next
End Function
'~~~
Function CheckDate()
vPathParentCurr = fso.GetParentFolderName(vFile.Path)
If vFileDateType = "Created" Then
vFileDate = CDate(vFile.DateCreated)
ElseIf vFileDateType = "LastAccessed" Then
vFileDate = CDate(vFile.DateLastAccessed)
Else
vFileDate = CDate(vFile.DateLastModified)
End If
vFileSize = vFile.Size
'Jüngstes (Neuestes) Dateidatum
If vResult(1) = "" Or vFileDate > vResult(1) Then
vResult(1) = vFileDate
vResult(2) = vFile.Name
vResult(3) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
'Ältestes Dateidatum
If vResult(4) = "" Or vFileDate < vResult(4) Then
vResult(4) = vFileDate
vResult(5) = vFile.Name
vResult(6) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
'Größte Datei
If vResult(7) = "" Or vFileSize > vResult(7) Then
vResult(7) = FormatNumber(vFileSize, 0, -2, -2, -2)
vResult(8) = vFile.Name
vResult(9) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
End Function
'~~~
Die INI-Datei (abspeichern unter <script.ini>):
Code: Select all
[Script]
Section=FolderDates
[FolderDates]
Script=FolderDates.vbs
LongName=1
ParseDirs=1
Die Sprachen-Datei (optional) (abspeichern unter <script_folderdates.lng>):
Code: Select all
[deu]
Result1=NeuesteDateiDatum
Result2=NeuesteDateiName
Result3=NeuesteDateiPfad
Result4=ÄltesteDateiDatum
Result5=ÄltesteDateiName
Result6=ÄltesteDateiPfad
Result7=GrößteDateiGröße
Result8=GrößteDateiName
Result9=GrößteDateiPfad
Ich empfehle, das Script Content Plugin <script.wdx> umzubenennen nach <script_folderdates.wdx> und unter diesem neuen Namen manuell im TC zu registrieren. Auf diese Weise kann man verschiedene Scripte (und somit quasi Plugins) gleichzeitig "parat" haben, jedes unter seinem eigenen <script_*.wdx>-Namen
Anschließend eine benutzerdefinierte Spaltenansicht mit der / den gewünschten Spalten anlegen und auswählen.
Hallo van Dusen,
sorry dass ich mich so spät melde, aber im Büro gabs etwas Stress mit der EDV.
Danke erst mal für die Hilfe. Das Script meldet mir aber einen Fehler in Zeile 34 Zeichen 4
Ungültiger Prozeduraufruf oder ungültiges Argument.
Konnte es also noch nicht antesten
Mit freundlichen Grüßen
D. Krause
sorry dass ich mich so spät melde, aber im Büro gabs etwas Stress mit der EDV.
Danke erst mal für die Hilfe. Das Script meldet mir aber einen Fehler in Zeile 34 Zeichen 4
Ungültiger Prozeduraufruf oder ungültiges Argument.
Konnte es also noch nicht antesten

Mit freundlichen Grüßen
D. Krause
- Clas Hortien
- Senior Member
- Posts: 200
- Joined: 2003-03-03, 15:03 UTC
Hallo Clas,
stimmt, dass man nicht sortieren kann, ist nicht so schön. Leider liefert das Script-Content-Plugin dem TC meines Wissens stets Werte vom Datentyp "String" zurück. Es bleibt daher m.E. nur der Weg, bereits im Script entsprechend sortierfähige Strings zu erzeugen, für Datums-/Zeitangaben also z.B. etwas im Format JJJJ-MM-TT hh:mm:ss.
Im Script braucht man dafür nur die Zuweisungen zu den Variablen vResult(1) und vResult(4) in der Function CheckDate() entsprechend anzupassen...
und
...sowie den Else-Zweig zum If vResult(1) = "" Then im Hauptteil mit den Datumsformatierungsanweisungen
auszukommentieren oder ganz zu entfernen.
Das angepasste Script nochmal als Ganzes:
Viele Grüße,
van Dusen
stimmt, dass man nicht sortieren kann, ist nicht so schön. Leider liefert das Script-Content-Plugin dem TC meines Wissens stets Werte vom Datentyp "String" zurück. Es bleibt daher m.E. nur der Weg, bereits im Script entsprechend sortierfähige Strings zu erzeugen, für Datums-/Zeitangaben also z.B. etwas im Format JJJJ-MM-TT hh:mm:ss.
Im Script braucht man dafür nur die Zuweisungen zu den Variablen vResult(1) und vResult(4) in der Function CheckDate() entsprechend anzupassen...
Code: Select all
'vResult(1) = vFileDate
vResult(1) = Year(vFileDate) & "-" & Right("00" & Month(vFileDate), 2) & "-" & Right("00" & Day(vFileDate), 2) & " " & Right("00" & Hour(vFileDate), 2) & ":" & Right("00" & Minute(vFileDate), 2) & ":" & Right("00" & Second(vFileDate), 2)
Code: Select all
'vResult(4) = vFileDate
vResult(4) = Year(vFileDate) & "-" & Right("00" & Month(vFileDate), 2) & "-" & Right("00" & Day(vFileDate), 2) & " " & Right("00" & Hour(vFileDate), 2) & ":" & Right("00" & Minute(vFileDate), 2) & ":" & Right("00" & Second(vFileDate), 2)
Code: Select all
'Else
'vResult(1) = FormatDateTime(vResult(1), 0)
'vResult(4) = FormatDateTime(vResult(4), 0)
Das angepasste Script nochmal als Ganzes:
Code: Select all
'*** FolderDates.vbs, V1.2, 08.01.2013, van Dusen
'*** FolderDates.vbs, V1.1, 12.09.2008, van Dusen
'*** FolderDates.vbs, V1.0, 15.07.2008, van Dusen
'*** Script for Script Content Plugin 0.2
'*** Lev Freidin (c) 2005-2008
'*** http://www.totalcmd.net/plugring/script_wdx.html
'*** http://wincmd.ru/plugring/script_wdx.html
'*** Benutzerkonfigurierbarer Bereich - Beginn **********************************
'vRecurse: 1 = Scan subfolders recursively; 0 = Do not scan subfolders
'vRecurse: 1 = Unterverzeichnisse rekursiv durchsuchen; 0 = Unterverzeichnisse nicht durchsuchen
Const vRecurse = 1
'vFileDateType: "LastModified" | "Created" | "LastAccessed"
Const vFileDateType = "LastModified"
'*** Benutzerkonfigurierbarer Bereich - Ende ************************************
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim vFolder
Dim vFileCollection, vFile
Dim vSubFolderCollection, vSubFolder
Dim vResult(9)
For vI = 0 To 9
vResult(vI) = ""
Next
Dim vPathParentBase, vPathFull
vPathParentBase = fso.GetParentFolderName(filename)
vPathFull = fso.GetAbsolutePathName(filename)
If fso.FolderExists(filename) Then
RecurseDir(vPathFull)
Else
Set vFile = fso.GetFile(filename)
CheckDate()
End If
'~~~
Set vSubFolderCollection = Nothing
Set vFileCollection = Nothing
Set vFolder = Nothing
Set vFile = Nothing
Set fso = Nothing
If vResult(1) = "" Then
For vI = 0 To 9
vResult(vI) = "-"
Next
'Else
'vResult(1) = FormatDateTime(vResult(1), 0)
'vResult(4) = FormatDateTime(vResult(4), 0)
End If
content = vResult(0)
content1 = vResult(1) 'Neueste Datei: Änderungsdatum
content2 = vResult(2) 'Neueste Datei: Name
content3 = vResult(3) 'Neueste Datei: Pfad
content4 = vResult(4) 'Älteste Datei: Änderungsdatum
content5 = vResult(5) 'Älteste Datei: Name
content6 = vResult(6) 'Älteste Datei: Pfad
content7 = vResult(7) 'Größte Datei : Größe
content8 = vResult(8) 'Größte Datei : Name
content9 = vResult(9) 'Größte Datei : Pfad
'~~~
Function RecurseDir(vFolderName)
Set vFolder = fso.GetFolder(vFolderName)
Set vFileCollection = vFolder.Files
For Each vFile In vFileCollection
CheckDate()
Next
If vRecurse = 0 Then Exit Function
Set vSubFolderCollection = vFolder.SubFolders
For Each vSubFolder In vSubFolderCollection
vPathFull = vPathFull & "\" & vSubFolder.Name
RecurseDir(vPathFull)
vP = InStr(1, StrReverse(vPathFull), "\")
If vP > 0 Then vPathFull = Left(vPathFull, Len(vPathFull) - vP)
Next
End Function
'~~~
Function CheckDate()
vPathParentCurr = fso.GetParentFolderName(vFile.Path)
If vFileDateType = "Created" Then
vFileDate = CDate(vFile.DateCreated)
ElseIf vFileDateType = "LastAccessed" Then
vFileDate = CDate(vFile.DateLastAccessed)
Else
vFileDate = CDate(vFile.DateLastModified)
End If
vFileSize = vFile.Size
'Jüngstes (Neuestes) Dateidatum
If vResult(1) = "" Or vFileDate > vResult(1) Then
'vResult(1) = vFileDate
vResult(1) = Year(vFileDate) & "-" & Right("00" & Month(vFileDate), 2) & "-" & Right("00" & Day(vFileDate), 2) & " " & Right("00" & Hour(vFileDate), 2) & ":" & Right("00" & Minute(vFileDate), 2) & ":" & Right("00" & Second(vFileDate), 2)
vResult(2) = vFile.Name
vResult(3) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
'Ältestes Dateidatum
If vResult(4) = "" Or vFileDate < vResult(4) Then
'vResult(4) = vFileDate
vResult(4) = Year(vFileDate) & "-" & Right("00" & Month(vFileDate), 2) & "-" & Right("00" & Day(vFileDate), 2) & " " & Right("00" & Hour(vFileDate), 2) & ":" & Right("00" & Minute(vFileDate), 2) & ":" & Right("00" & Second(vFileDate), 2)
vResult(5) = vFile.Name
vResult(6) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
'Größte Datei
If vResult(7) = "" Or vFileSize > vResult(7) Then
vResult(7) = FormatNumber(vFileSize, 0, -2, -2, -2)
vResult(8) = vFile.Name
vResult(9) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
End Function
'~~~
van Dusen
- Clas Hortien
- Senior Member
- Posts: 200
- Joined: 2003-03-03, 15:03 UTC
Super, vielen Dank. Du hast mich vor einer endlos langweiligen Arbeit bewahrt.
Ich habe übrigens noch
Mid(vPathParentCurr, Len(vPathParentBase) + 2)
in
Mid(vPathParentCurr, Len(vPathParentBase) + 1)
ändern müssen (3 mal), da sonst der Dateiname vorne abgeschnitten wurde.
Hast Du eigentlich die lng Datei zum laufen gebracht ? Ich habe verschiedene Namen und Verzeichnisse probiert, aber nix hat funktioniert.
Viele Grüße
Clas
Ich habe übrigens noch
Mid(vPathParentCurr, Len(vPathParentBase) + 2)
in
Mid(vPathParentCurr, Len(vPathParentBase) + 1)
ändern müssen (3 mal), da sonst der Dateiname vorne abgeschnitten wurde.
Hast Du eigentlich die lng Datei zum laufen gebracht ? Ich habe verschiedene Namen und Verzeichnisse probiert, aber nix hat funktioniert.
Viele Grüße
Clas
Hallo Clas,
damit die LNG-Datei berücksichtigt wird, muss sie denselben Namen(sstamm) haben wie die WDX-Datei und im selben Verzeichnis liegen. Diese Information habe ich in meinem Beitrag vom 18.10.2010 leider unterschlagen
.
Da ich etliche Scripte für das Script-Content-Plugin benutze, habe ich das Script-Content-Plugin für jedes Script separat unter eigenem Namen installiert. Für das FolderDates.vbs-Script habe ich das Script-Content-Plugin z.B. unter dem Namen script_folderdates.wdx installiert. Dann findet und benutzt das Plugin auch die Sprachendatei script_folderdates.lng
Viele Grüße,
van Dusen
damit die LNG-Datei berücksichtigt wird, muss sie denselben Namen(sstamm) haben wie die WDX-Datei und im selben Verzeichnis liegen. Diese Information habe ich in meinem Beitrag vom 18.10.2010 leider unterschlagen

Da ich etliche Scripte für das Script-Content-Plugin benutze, habe ich das Script-Content-Plugin für jedes Script separat unter eigenem Namen installiert. Für das FolderDates.vbs-Script habe ich das Script-Content-Plugin z.B. unter dem Namen script_folderdates.wdx installiert. Dann findet und benutzt das Plugin auch die Sprachendatei script_folderdates.lng
Viele Grüße,
van Dusen
Grüße, van Dusen (#24722)
Achtung! FolderDates.vbs V1.2 liefert falsche Ergebnisse!
Hallo Clas,
die Scriptversion von gestern ist leider fehlerhaft - sie liefert falsche Ergebnisse zurück
Die Ergebnisstrings dürfen nicht schon in der Function CheckDate() formatiert werden, da das in den Variablen vResult(1) und vResult(4) gespeicherte älteste/jüngste Dateidatum für den Vergleich mit der aktuell untersuchten Datei noch vom Datentyp "DateTime" sein muss.
Außerdem ist es aus Performancegründen sinnvoll, die Formatierung erst zum Schluss vorzunehmen, wenn also alle Dateien untersucht sind und das älteste/jüngste Dateidatum feststeht.
Hier nun das fehlerbereinigte Script:
Ich hoffe, dass durch diesen Fehler keine Schäden entstanden sind.
Viele Grüße,
van Dusen
die Scriptversion von gestern ist leider fehlerhaft - sie liefert falsche Ergebnisse zurück

Die Ergebnisstrings dürfen nicht schon in der Function CheckDate() formatiert werden, da das in den Variablen vResult(1) und vResult(4) gespeicherte älteste/jüngste Dateidatum für den Vergleich mit der aktuell untersuchten Datei noch vom Datentyp "DateTime" sein muss.
Außerdem ist es aus Performancegründen sinnvoll, die Formatierung erst zum Schluss vorzunehmen, wenn also alle Dateien untersucht sind und das älteste/jüngste Dateidatum feststeht.
Hier nun das fehlerbereinigte Script:
Code: Select all
'*** FolderDates.vbs, V1.2.1, 09.01.2013, van Dusen
'*** FolderDates.vbs, V1.2, 08.01.2013, van Dusen
'*** FolderDates.vbs, V1.1, 12.09.2008, van Dusen
'*** FolderDates.vbs, V1.0, 15.07.2008, van Dusen
'*** Script for Script Content Plugin 0.2
'*** Lev Freidin (c) 2005-2008
'*** http://www.totalcmd.net/plugring/script_wdx.html
'*** http://wincmd.ru/plugring/script_wdx.html
'*** Benutzerkonfigurierbarer Bereich - Beginn **********************************
'vRecurse: 1 = Scan subfolders recursively; 0 = Do not scan subfolders
'vRecurse: 1 = Unterverzeichnisse rekursiv durchsuchen; 0 = Unterverzeichnisse nicht durchsuchen
Const vRecurse = 1
'vFileDateType: "LastModified" | "Created" | "LastAccessed"
Const vFileDateType = "LastModified"
'*** Benutzerkonfigurierbarer Bereich - Ende ************************************
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim vFolder
Dim vFileCollection, vFile
Dim vSubFolderCollection, vSubFolder
Dim vResult(9)
For vI = 0 To 9
vResult(vI) = ""
Next
Dim vPathParentBase, vPathFull
vPathParentBase = fso.GetParentFolderName(filename)
vPathFull = fso.GetAbsolutePathName(filename)
If fso.FolderExists(filename) Then
RecurseDir(vPathFull)
Else
Set vFile = fso.GetFile(filename)
CheckDate()
End If
'~~~
Set vSubFolderCollection = Nothing
Set vFileCollection = Nothing
Set vFolder = Nothing
Set vFile = Nothing
Set fso = Nothing
If vResult(1) = "" Then
For vI = 0 To 9
vResult(vI) = "-"
Next
Else
'vResult(1) = FormatDateTime(vResult(1), 0)
'vResult(4) = FormatDateTime(vResult(4), 0)
vResult(1) = Year(vResult(1)) & "-" & Right("00" & Month(vResult(1)), 2) & "-" & Right("00" & Day(vResult(1)), 2) & " " & Right("00" & Hour(vResult(1)), 2) & ":" & Right("00" & Minute(vResult(1)), 2) & ":" & Right("00" & Second(vResult(1)), 2)
vResult(4) = Year(vResult(4)) & "-" & Right("00" & Month(vResult(4)), 2) & "-" & Right("00" & Day(vResult(4)), 2) & " " & Right("00" & Hour(vResult(4)), 2) & ":" & Right("00" & Minute(vResult(4)), 2) & ":" & Right("00" & Second(vResult(4)), 2)
End If
content = vResult(0)
content1 = vResult(1) 'Neueste Datei: Änderungsdatum
content2 = vResult(2) 'Neueste Datei: Name
content3 = vResult(3) 'Neueste Datei: Pfad
content4 = vResult(4) 'Älteste Datei: Änderungsdatum
content5 = vResult(5) 'Älteste Datei: Name
content6 = vResult(6) 'Älteste Datei: Pfad
content7 = vResult(7) 'Größte Datei : Größe
content8 = vResult(8) 'Größte Datei : Name
content9 = vResult(9) 'Größte Datei : Pfad
'~~~
Function RecurseDir(vFolderName)
Set vFolder = fso.GetFolder(vFolderName)
Set vFileCollection = vFolder.Files
For Each vFile In vFileCollection
CheckDate()
Next
If vRecurse = 0 Then Exit Function
Set vSubFolderCollection = vFolder.SubFolders
For Each vSubFolder In vSubFolderCollection
vPathFull = vPathFull & "\" & vSubFolder.Name
RecurseDir(vPathFull)
vP = InStr(1, StrReverse(vPathFull), "\")
If vP > 0 Then vPathFull = Left(vPathFull, Len(vPathFull) - vP)
Next
End Function
'~~~
Function CheckDate()
vPathParentCurr = fso.GetParentFolderName(vFile.Path)
If vFileDateType = "Created" Then
vFileDate = CDate(vFile.DateCreated)
ElseIf vFileDateType = "LastAccessed" Then
vFileDate = CDate(vFile.DateLastAccessed)
Else
vFileDate = CDate(vFile.DateLastModified)
End If
vFileSize = vFile.Size
'Jüngstes (Neuestes) Dateidatum
If vResult(1) = "" Or vFileDate > vResult(1) Then
vResult(1) = vFileDate
vResult(2) = vFile.Name
vResult(3) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
'Ältestes Dateidatum
If vResult(4) = "" Or vFileDate < vResult(4) Then
vResult(4) = vFileDate
vResult(5) = vFile.Name
vResult(6) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
'Größte Datei
If vResult(7) = "" Or vFileSize > vResult(7) Then
vResult(7) = FormatNumber(vFileSize, 0, -2, -2, -2)
vResult(8) = vFile.Name
vResult(9) = Mid(vPathParentCurr, Len(vPathParentBase) + 2)
End If
End Function
'~~~
Viele Grüße,
van Dusen
- Clas Hortien
- Senior Member
- Posts: 200
- Joined: 2003-03-03, 15:03 UTC