Doppelte Dateien suchen

Dieses Thema im Forum "Audio" wurde erstellt von Dammpfwallze, 16. Dezember 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Dammpfwallze

    Dammpfwallze Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.322
    Hallo

    Ich suche ein Programm, mit dem man nach doppelten MP3's suchen kann u. diese anzeigt. Also komplette Verzeichnisse durchsucht. Hab schon paar probiert die nach der CRC Berechnung vorgehen oder Dateinamen vergleichen. Da dies aber sehr unzuverlässig ist, brauche ich ein Programm das raw Daten checken kann. Hat jemand einen Link für mich?

    Gruss Mario
     
  2. Dammpfwallze

    Dammpfwallze Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.322
    Man bin ich :dumm: Klar im DOS Fenster gehts. Habs mal mit einem Testordner u. paar mp3 probiert. Dauert zwar etwas aber es findet wirklich doppelte mp3. Genauer muss ich das mal am Wochenende testen.

    Gruss Mario
     
  3. kazhar

    kazhar Viertel Gigabyte

    Registriert seit:
    21. Juni 2001
    Beiträge:
    4.420
    Wie startest du die Datei? Am sichersten ist es, von einem DOS-Fenster aus.

    Und kommt der Fehler gleich oder erst nach ein paar Sekunden?
     
  4. Dammpfwallze

    Dammpfwallze Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.322
    Bin nun doch mal neugierig geworden u. hab das gleich mal probiert. Irgendwie kommt mir aber immer die Fehlermeldung, das es keine Win 32 Anwendung ist:mad:

    Gruss Mario

    P.S.
    HDD1
    C:\Win 98
    F:\ Win XP pro NTFS
    G:\ Software NTFS
    HDD2
    H:\ Musik NTFS
    I:\ Multimedia NTFS
    HDD3
    K:\ Video NTFS
    HDD4
    L:\ Backup Fat 32
     
  5. kazhar

    kazhar Viertel Gigabyte

    Registriert seit:
    21. Juni 2001
    Beiträge:
    4.420
    :dumm: :dumm: :dumm: :dumm:

    Hab leider mehrere Fehler entdeckt... :heul:

    1) echo xxx <--> yyy funzt nicht
    2) fc gibt keine anständigen errorlevel zurück

    daher kommt das 1. Servicepack mit verbesserter Funktion ;) Es läuft jetzt schneller

    Code:
    @echo off
    
    if NOT %1.==. goto L2 
    del GleicheFiles.txt
    dir *.exe /S /B > files##12.txt
    FOR /F "delims=|" %%f IN (files##12.txt) DO call %0 "%%f"
    del files##12.txt
    del erg.txt
    %SystemRoot%\system32\notepad.exe GleicheFiles.txt
    goto ende
    
    :L2
    if NOT %2.==. goto comp
    FOR /F "delims=|" %%g IN (files##12.txt) DO call %0 %1 "%%g"
    echo %1
    goto ende
    
    :comp
    if %1.==%2. goto ende
    FOR %%h in (%1) DO FOR %%i in (%2) DO if NOT %%~zh==%%~zi goto ende
    fc /B %1 %2 > erg.txt
    FOR %%j in (erg.txt) DO if %%~zj LSS 800 echo %1 = %2 >> GleicheFiles.txt
    
    :ende
    
    Es kann jetzt aber sein, dass 2 gleich große Files, die sich nur "wenig" unterscheiden (< ~50 byte Unterschied) fälschlicherweise für gleich erklärt werden. :huh:
     
  6. Dammpfwallze

    Dammpfwallze Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.322
    Danke dir, Das werde ich am Wochenende testen.

    Gruss Mario
     
  7. kazhar

    kazhar Viertel Gigabyte

    Registriert seit:
    21. Juni 2001
    Beiträge:
    4.420
    Genau!

    Im 1. "Absatz" steht dir *.mp3 /S /B. Dadurch wird rekursiv nach allen mp3-Files gesucht, die sich im Ausgangsverzeichnis oder "darüber" befinden.

    Du könntest auch statt dem mp3.* z.B. H:\Musik\*.mp3 eingeben. Dann wird nur in dem Verzeichnis H:\Musik gesucht.

    Ach ja...
    Im 2. Absatz
    Code:
    :L2
    if NOT %2.==. goto comp
    FOR /F "delims=|" %%g IN (files##12.txt) DO call %0 %1 "%%g"
    goto ende
    
    solltest du zwischen "FOR /F..." und "goto ende" "echo %1" reinschreiben. Dann siehst du wenigsten dass/wenn sich was tut...
     
  8. Dammpfwallze

    Dammpfwallze Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.322
    Ja Danke, muss das mal am Wochenende probieren, oder vielleicht über Nacht mal suchen lassen. Bei 45GB könnte das vielleicht ne Weile dauern.:D
    Wenn ich das richtig verstanden habe durchsucht das Programm alle Verzeichnisse auf einer Partition u. zeigt das Ergebnis an, oder? Dann muss das statt C:\compare.bat, H:\compare.bat heissen, weil die Sachen liegen auf Laufwerk H:
    Gruss Mario
     
  9. kazhar

    kazhar Viertel Gigabyte

    Registriert seit:
    21. Juni 2001
    Beiträge:
    4.420
    wenn du Windows 2000 oder Windows XP hast, dann kannst du folgende Batchdatei mal ausprobieren:

    Code:
    @echo off
    
    if NOT %1.==. goto L2 
    del GleicheFiles.txt
    dir *.mp3 /S /B > files##12.txt
    FOR /F "delims=|" %%f IN (files##12.txt) DO call %0 "%%f"
    del files##12.txt
    %SystemRoot%\system32\notepad.exe GleicheFiles.txt
    goto ende
    
    :L2
    if NOT %2.==. goto comp
    FOR /F "delims=|" %%g IN (files##12.txt) DO call %0 %1 "%%g"
    echo %1
    goto ende
    
    :comp
    if %1.==%2. goto ende
    fc /B %1 %2 > nul
    if ERRORLEVEL 1 goto ende
    echo %1 <--> %2 >> GleicheFiles.txt
    
    :ende
    
    Einfach den Code in eine neue Datei C:\compare.bat kopieren und ausführen. Dadurch erhältst du alle Bit-gleichen mp3-Dateien auf dem Laufwerk C:Das Ergebnis wird in der Datei C:\GleicheFiles.txt zurückgeliefert und nach abschluß des Programms mit Notepad geöffnet; Ist allerdings nicht optimiert und braucht desshalb bei vielen Dateien auch auf schnellen Rechnern seine Zeit....
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen