darebo
Goto Top

Nicht doppelt vorhandene Dateien (nur Name) finden

Ich bin auf der Suche nach einer einfachen Möglichkeit (z.B. Batchlösung mit Ausgabe) viele Dateien (größer 500.000) nur nach Namen zu vergleichen und nur die Unterschiede anzeigen zu lassen. Dubletten in der Ausprägung .doc und .pdf sind gewollt.

Ausgangslage:
Es soll zu jeder .doc Datei auch eine .pdf-Datei und umgekehrt geben. Diese sind jeweils in unterschiedlichen Ordner gespeichert. (IST-Zustand) Diese Struktur darf nicht verändert werden.

Ist-Zustand:

Laufwerk:

Ordner-1
DOC-Ordner (Inhalt .DOC Dateien)
1.doc
x.doc
PDF-Ordner (Inhalt .PDF Dateien)
1.pdf
x.pdf

bis

Ordner-x
DOC-Ordner (Inhalt .DOC Dateien)
1.doc
x.doc
PDF-Ordner (Inhalt .PDF Dateien)
1.pdf
x.pdf

Die normalen Dubletten-Prüfprogramme finden nur die Dubletten. Ich möchte aber die Unterschiede finden, da wo es keine Namensdubletten in dem jeweiligen Ordner-x (DOC,PDF) gibt.


Gerne auch in zwei Schritten:

1. Prüfung ob zu jeder .doc Datei auch eine .pdf Datei existiert. Ausgabe wo es keine Übereinstimmung gibt.
2. Prüfung ob zu jeder .pdf Datei auch eine .doc Datei existiert. Ausgabe wo es keine Übereinstimmung gibt.


Idee:
Mittels Batch oder Kommandozeile mittels einer For-Schleife. Bekomme aber dies irgendwie mit den zugehörigen Ordner/Unterordner nicht hin.

Bsp.: for /f "delims=" %i in ('dir /s /b *.doc') do @if not exist "%~dpni.pdf" @echo "%~dpni.pdf"

Hat jemand eine Idee?

Danke vorab.

Content-ID: 303261

Url: https://administrator.de/forum/nicht-doppelt-vorhandene-dateien-nur-name-finden-303261.html

Ausgedruckt am: 08.04.2025 um 13:04 Uhr

TlBERlUS
Lösung TlBERlUS 29.04.2016 um 14:43:21 Uhr
Goto Top
Hi,

willst du prüfen, ob die Dateien in Ordner 1 - Ordner X Dubletten enthalten (also ob eine Datei y von Ordner 1 auch in Ordner Z vorhanden ist), oder innerhalb von jeweils Ordner 1-X die Unterordner durchsuchen?
bastla
bastla 29.04.2016 aktualisiert um 16:49:26 Uhr
Goto Top
Hallo darebo und willkommen im Forum!

Versuch es mit folgender Änderung Deines Batch-Ansatzes (ungetestet):
for /f "delims=" %i in ('dir /s /b *.doc') do @if not exist "%~dp\..\PDF-Ordner\~ni.pdf" @echo "%~dpni.pdf"
Grüße
bastla
darebo
darebo 02.05.2016 um 09:09:36 Uhr
Goto Top
Sorry für die späte Rückmeldung,

Innerhalb der jeweiligen Ordner 1-x müssen die Unterordner (DOC, PDF) durchsucht werden.

Danke und Gruß
114757
114757 02.05.2016 aktualisiert um 10:28:35 Uhr
Goto Top
Mit Powershell so
gci 'c:\Ordner-*\*' -Include '*.pdf','*.doc' -recurse | ?{!$_.PSIsContainer} | group Name | ?{$_.Count -lt 2} | %{$_.Group}  
Gibt alle allein stehenden PDF oder DOC Dateien der Ordner aus.

Gruß jodel32