quälend langsame Dateioperationen seit Win 11
18.11.2025 13:10:52
Martin D.
Sub csv_Verschieben(Zielordner, Dateianfang)
Dim FSO As Object
Dim FI As Object
Dim Monat As String
Dim Quellordner As String
Dim Filename As String
'Ermittlung Username
With CreateObject("WScript.Network")
Profil = .UserName
End With
Quellordner = "C:\Users\" & Profil & "\Downloads\"
Set FSO = CreateObject("Scripting.Filesystemobject")
If Not FSO.FolderExists(Quellordner) Then
MsgBox "csv-Quellordner (persönlicher Download-Ordner) " & Quellordner & " ist nicht vorhanden."
Set FSO = Nothing
Exit Sub
End If
For Each FI In FSO.GetFolder(Quellordner).Files
If UCase(FSO.GetExtensionName(FI)) = UCase("csv") Then
If (UCase(FSO.GetFileName(FI)) Like UCase(Dateianfang & "_Gesamt_" & "*")) Or _
(UCase(FSO.GetFileName(FI)) Like UCase(Dateianfang & "*" & "nderungen_" & "*")) Or _
(UCase(FSO.GetFileName(FI)) Like UCase(Dateianfang & "_Umsatz_" & "*")) Then
FSO.MoveFile FI, Zielordner
End If
End If
Next
Set FSO = Nothing
End Sub
Das klappte unter Windows 10 problemlos. Seit der Umstellung auf Windows 11 (aktuell läuft Version 10.0.26100 Build 26100) ist die Ausführung quälend langsam und manchmal hängt sich Excel komplett auf. Das träge Verhalten habe ich aber auch, wenn ich im Dateiexplorer Dateien verschiebe oder in Excel einfach nur den Speicher-Button drücke. Jedes mal legt das System mehrere Gedenksekunden ein, ehe etwas passiert. Dass hier schlafende Server-Festplatten erst aufwachen müssen, möchte ich ausschließen.
Macht es Sinn, ein DoEvents vor dem Next einzubauen?
Wenn ich es richtig sehe, wird jede der 3 Dateien, auf die die Auswahlbedingungen zutrifft, einzeln verschoben. Wie könnte ein Code aussehen, der alle 3 Dateien auf einmal verschiebt?
Gibt es irgendeinen Trick, die Dateioperationen zu beschleunigen?
Anzeige