Mittwoch, 17. April 2024, 00:28 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Bratworßt

unregistriert

1

Freitag, 7. September 2018, 10:03

VBS Dateien werden nur teilweise erfasst, Netzlaufwerk zu langsam?

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