Ich danke Dir sehr! Nachfolgend die ganze Arbeit im Zusammenhang. Damit habe ich nicht nur Kontrolle über alle installierten Exen, sondern beschleunige diese mit der Grafikkarte, in dem ich den Pfad in die Explorerauswahl unter System-Bildschirm-Grafik kopiere und hohe Leistung einstelle, mithin in wenigen Tagen fast alle meine 16.416 Exen auf DDR-6-RAM arbeiten. Ich habe an meinem PC praktisch keine Wartezeit mehr. Auch habe ich damit die Laptops meiner Söhne gepuscht. Allerdings habe ich noch keinen Weg gefunden, die WindowsApps zu beschleunigen, weil ich nicht weiß, wie ich dafür Zugriffsrecht bekomme.
Sub ExeListen() '20220927ah/ Mr. K. Email20220925
List "B:\", "*.exe"
List "C:\", "*.exe"
List "D:\!IT\", "*.exe"
List "D:\S\A\", "*.exe"
List "E:\", "*.exe"
'Worksheets.Add 'neues Blatt
'Cells(1, 1) = "Dateiname"
'Cells(1, 2) = "Erstelldatum"
'Cells(1, 3) = "Pfad"
With Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp).Offset(0, 2))
.EntireColumn.AutoFit
.Sort Key1:=Range(Cells(1, 2), Cells(.Rows.Count, 2)), order1:=xlDescending, Header:=xlYes
End With
'Application.StatusBar = False
MsgBox "Fertig!", vbInformation
End Sub
Private Sub List(Folder As String, Filetype As String) '20220927ah/ Mr. K. Email20220925
Dim fs, f, s, Datei As String
Set fs = CreateObject("Scripting.FileSystemObject")
'Application.StatusBar = "Ordner wird durchsucht: " & Folder
DoEvents
On Error Resume Next
Datei = Dir(Folder & Filetype)
Do While Datei > ""
'If 1 + 1 = 2 Then 'erfasst alle Exen auf dem PC
If fs.GetFile(Folder & Datei).DateCreated >= Date - 30 Then 'ermittelt die neuen Exen der letzten 30 Tage
With Cells(Rows.Count, 1).End(xlUp)
.Offset(1, 0) = Datei
.Offset(1, 1) = fs.GetFile(Folder & Datei).DateCreated
.Offset(1, 2) = fs.GetFile(Folder & Datei).ParentFolder
End With
End If
Datei = Dir
Loop
For Each f In fs.getfolder(Folder).subfolders
List f.Path & "\", Filetype
Next f
End Sub
Sub SortiereSpalteB() '20220927ah
Columns("B:B").NumberFormat = "yyyymmddhhmm"
End Sub
Sub ZeilenDoppelpfadeLöschen() '20220927ah
'vorher alles nach Spalte C sortieren A-Z
Dim A, B As String
Dim L, nL As Long
L = 1
Do While Cells(L, 3) > ""
nL = L + 1
A = Cells(L, 3).Value
B = Cells(nL, 3).Value
If A = B Then
'Rows(nL).Select
Rows(nL).Delete Shift:=xlUp
Else
L = nL
End If
Loop
MsgBox "Fertig!", vbInformation
End Sub
|