Seehr geehrte Schwarmintiligenz,
folgender Ausschnitt soll Dateien nach Endung sortieren und das aktuellste File nach DateLastModified ausgeben.
In der Testumgebung Läuft das Script auf einem schnellen Netzlaufwerk problemlos ca. 1300 Dateien.
In der Praxis wird auf ein langsameres Netzlaufwerk zugegriffen und das
skript liest nur einen Teil der Dateien ein und gibt nach der Logik
eine ältere Datei aus.
Der Rechner von dem das Script aus Läuft hat ausnahmslos Admin Rechte, manuell kann ich alle Dateien bearbeiten und einsehen.
Testweise habe ich eine vor meinen Script Ausschnitt eine Funktion
gestellt, welche mir alle gefundenen Dateien in ein LogFile schreibt.
Wenn ich das Script starte läuft es ohne Fehler bis die MsgBox
erscheint, im LogFile werden je nach durchlauf 300-500 Dateien
angezeigt.
Merkwürdig ist eine Minute nach erscheinen der MsgBox ist das File Komplett voll mit allen 1302 Dateien.
Ich hoffe ihr habt einen Tipp für mich.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
sPath = "wurstBratarchiv"
eack = "ACK"
eibu = "IBU"
sNewestFile = GetNewestFile(sPath)
Function GetNewestFile(ByVal sPath)
sNewestFile = Null ' initialisiere Wert
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sPath)
Set oFiles = oFolder.Files
' Finde die neueste Datei unter allen anderen Dateien
For Each oFile In oFiles
if Ucase(oFSO.GetExtensionName(ofile)) = eack or Ucase(oFSO.GetExtensionName(ofile)) = eibu then 'selektiere Dateien mit der gewünschten Endung aus
If IsNull(sNewestFile) Then
sNewestFile = oFile.Path
dPrevDate = oFile.DateLastModified
Elseif dPrevDate < oFile.DateLastModified Then
sNewestFile = oFile.Path
End If
end if
Next
If IsNull(sNewestFile) Then sNewestFile = " Kein File"
GetNewestFile = sNewestFile
End Function
msgbox sNewestFile
|
Gruß Bratwurst