Doppelte Dateien mittels Batch entfernen
Hallo,
folgende Problematik;
Ich habe mittels des OFC-Tools *.doc, *.ppt und *.xls Dokumente in die Formate *.docx, *.pptx und *.xlsx konvertiert. Die konvertierten Dateien befinden sich jeweils im gleichen Verzeichnis wie die alten.
Nun soll in einem automatisierten Schritt die *.doc, *.ppt und *.xls Dateien (sofern jeweils eine *.docx, *.pptx und *.xlsx mit gleichen Namen befindet) idealer Weise verschoben werden. Sofern eine Realisierung mittels Löschung sich einfacher gestalten lässt wäre dies auch in Ordnung.
Wichtig ist, dass eine Prüfung erfolgt ob sich auch wirklich eine konvertierte Datei existiert (Das OFC-Tool konvertiert z.B. keine Kennwort geschützten Dateien) und eine Löschung von nicht konvertierten Dateien muss ausgeschlossen werden.
Vielen Dank für konstruktive Vorschläge
folgende Problematik;
Ich habe mittels des OFC-Tools *.doc, *.ppt und *.xls Dokumente in die Formate *.docx, *.pptx und *.xlsx konvertiert. Die konvertierten Dateien befinden sich jeweils im gleichen Verzeichnis wie die alten.
Nun soll in einem automatisierten Schritt die *.doc, *.ppt und *.xls Dateien (sofern jeweils eine *.docx, *.pptx und *.xlsx mit gleichen Namen befindet) idealer Weise verschoben werden. Sofern eine Realisierung mittels Löschung sich einfacher gestalten lässt wäre dies auch in Ordnung.
Wichtig ist, dass eine Prüfung erfolgt ob sich auch wirklich eine konvertierte Datei existiert (Das OFC-Tool konvertiert z.B. keine Kennwort geschützten Dateien) und eine Löschung von nicht konvertierten Dateien muss ausgeschlossen werden.
Vielen Dank für konstruktive Vorschläge
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207453
Url: https://administrator.de/forum/doppelte-dateien-mittels-batch-entfernen-207453.html
Ausgedruckt am: 13.04.2025 um 23:04 Uhr
10 Kommentare
Neuester Kommentar
Moin dervik,
willkommen im Forum.
Du hast doch oben als Prosatext genau beschrieben, was passieren soll.
Dann mach do eine schrittweise Übersetzung (ganz stumpf, so wie die RedmonderInnen die M$KB-Artikel übersetzen).
->
--> Sonderlocke: bei Abfrage nach Extension *.xls wird auch *.xlsx (bzw. alles mit *xls* ) geliefert.
(sofern jeweils eine *.docx, *.pptx und *.xlsx mit gleichen Namen befindet)
->
-> oder
Für alle .ppt.x dann
Du kannst natürlich auch die (*.ppt, *.doc, *, xls) -extensions in einer FOR-Anweisung zusammenfassen; der DIR Befehl kann ohnehin ein "DIR *.doc *.xls *.ppt)".
Grüße
Biber
willkommen im Forum.
Du hast doch oben als Prosatext genau beschrieben, was passieren soll.
Dann mach do eine schrittweise Übersetzung (ganz stumpf, so wie die RedmonderInnen die M$KB-Artikel übersetzen).
->
for /R "d:\einVerzeichnis" %i in (*.xls) do...
oder entsprechend *.ppt, *.xls)...--> Sonderlocke: bei Abfrage nach Extension *.xls wird auch *.xlsx (bzw. alles mit *xls* ) geliefert.
.... if /i [%~xi] EQU [.xls]....
(sofern jeweils eine *.docx, *.pptx und *.xlsx mit gleichen Namen befindet)
.... if exist "%ix" ...
... if exist idealer Weise verschoben werden.
... Löschung ... wäre ... auch in Ordnung.
-> ... Löschung ... wäre ... auch in Ordnung.
... Move "%i" "i:\Archiv\"
-> oder
... DEL "%i"
Für alle .ppt.x dann
for /R "d:\einVerzeichnis" %i in (*.ppt) do if /i [%~xi] EQU [.ppt] if exist "%ix" Move "%i" "i:\Archiv\"
Du kannst natürlich auch die (*.ppt, *.doc, *, xls) -extensions in einer FOR-Anweisung zusammenfassen; der DIR Befehl kann ohnehin ein "DIR *.doc *.xls *.ppt)".
Grüße
Biber
Also, ist doch ganz OK, nichts was du verstecken müsstest.
Vorschlag:
Es wird ausgehend von %startfolder% der Verzeichnisbaum rekursiv durchsucht.
Wenn eine Datei
Wenn es passt, entferne das Wort
Gruss!
PS: siehe @Biber: wenn eine
Vorschlag:
@echo off &setlocal
set "startfolder=."
for /r "%startfolder%" %%i in (*.doc,*.ppt,*.xls) do if exist "%%~fix" echo move "%%~fi" "X:\Backup Folder"
Wenn eine Datei
*.docx,*.pptx,*.xlsx
existiert, wird die entsprechende *.doc,*.ppt,*.xls
verschoben.Wenn es passt, entferne das Wort
echo
vor move
.Gruss!
PS: siehe @Biber: wenn eine
*.*x
existiert, wird die verschoben falls es noch eine *.*xx
gibt.Zitat von @dervik:
Du schreibst (...)"%%~fix" echo move "%%~fi"(...) wieso einmal "%%~fix" und dann "%%~fi"
?
Du schreibst (...)"%%~fix" echo move "%%~fi"(...) wieso einmal "%%~fix" und dann "%%~fi"
?
Wenn die Datei mit dem
x
existiert, kann die ohne x
verschoben werden.%%~fix
== mit x
%%~fi
== ohne x
Gruss!