Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doppelte Datei löschen mit VBS / VBA

Doppelte Datei löschen mit VBS / VBA
17.02.2016 12:41:37
Matthias
Hi zusammen
Ich habe in einem Windows Ordner zehntausende Dateien. Deren Namen sind wie folgt aufgebaut:
1234567 Matthias Muster.xlsx
1245751 Susanne Muster.xlsx
7544251 Martin Muster.xlsx
etc.
Nun habe ich letztens ein Batchscript laufen lassen, das nicht ganz das gemacht hat, was es sollte, ich habe nun doppelte Einträge. Und diese doppelten Einträge haben sechs Bindestriche im Filenamen:
1234567 Matthias Muster------.xlsx
Ich müsste nun ein Batch Script laufen lassen, dass den gesamten Ordner nach solchen doppelten Einträgen durchsucht.
Gibt es doppelte Einträge, d.h.
1234567 Matthias Muster.xlsx (modified: 01.01.2016)
1234567 Matthias Muster------.xlsx (modified: 02.01.2016)
Dann muss das Date modified noch kontrolliert werden. Wenn die Datei mit den ------ NACH dem File ohne den Strichen geändert wurde, dann muss folgendes passieren:
- Die Datei OHNE die ------ muss gelöscht werden.
- Die Datei MIT den ------ muss umgeändert werden in den Filenamen ohne ------.
Das obere Muster sähe also NACH dem Batch so aus:
1234567 Matthias Muster.xlsx (modified: 02.01.2016)
Ich hoffe, irgendjemand kann mir weiterhelfen. Das wäre grossartig :-)
Vielen Dank und liebe Grüsse
Matthias

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Datei löschen mit VBS / VBA
18.02.2016 10:50:59
Matthias
Fall erledigt (mit C#).

AW: Doppelte Datei löschen mit VBS / VBA
18.02.2016 12:24:57
Beni
Hallo Matthias
Gruss Beni
Sub lösche_Dateien()
Dim strPfad, strFile As String
On Error Resume Next
strPfad = ThisWorkbook.Path & "\"  ' anpassen
strFile = Dir(strPfad & "*.xlsx")
Do While strFile  ""
If Not Mid(strFile, Len(strFile) - 10, 6) = "------" Then
Kill strPfad & strFile ' Achtung, löscht Dateien!!!!!!!!!!!!
End If
strFile = Dir
Loop
End Sub

Sub Dateien_umbenennen()
Dim strPfad, strFile As String
On Error Resume Next
strPfad = ThisWorkbook.Path & "\"  ' anpassen
strFile = Dir(strPfad & "*.xlsx")
Do While strFile  ""
If Mid(strFile, Len(strFile) - 10, 6) = "------" Then
r = Mid(strFile, Len(strFile) - 10, 6)
l = Left(strFile, Len(strFile) - 11)
Name strPfad & strFile As strPfad & Left(strFile, Len(strFile) - 11) & ".xlsx"
End If
strFile = Dir
Loop
End Sub

Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige