Programm zum erkennen doppelter Ordner/Dateien

Dieses Thema im Forum "Softwareforum" wurde erstellt von Gelöschter User, 2. Juni 2012.

  1. Hallo,

    etwa die Hälfte meiner Dateien habe ich ordentlich in sinnvolle Ordnerstrukturen sortiert auf meinem Laptop. Auf dem Desktop habe ich die gleichen Dateien, allerdings völlig unsortiert und in anderen Ordnerstrukturen, ich weiss also dass etwa die Hälfte schon auf dem Laptop ist, kann aber nicht einfach die andere Hälfte dazu packen. Nun möchte ich aber gerne Desktop und Laptop auf den gleichen Stand bringen, ohne alles per Hand aussortieren zu müssen. Gibt es da ein Programm das mir helfen könnte?
    Es geht um quasi alle Dateitypen, Systeme sind beide Windows 7.

    Vielen Dank,
    DS
     
    Zuletzt von einem Moderator bearbeitet: 3. Juni 2012
  2. Erklär doch erstmal, was für doppelte Dateien du meinst. Ich hoffe mal du bist nicht auf die Idee gekommen, sämtliche Dateien auf deinem Rechner in die jeweiligen Namensverzeichnisse zu verschieben :huh:
     
  3. Okay, dann also konkret: Vor allem meine Musiksammlung, aber auch Fotos und pdf/docs etc. Auf dem Desktop-PC hatte ich meine Musik in Ordnern nach Genre sortiert, also einen Ordner Rock, einen Rap, Pop, Klassik, Jazz etc, dazu kam ein Ordner namens "neu" in welchem ich alles drin hatte was ich in den letzten Monaten gekauft oder runtergeladen hab, Mixtapes, einzelne Songs, ganze Alben, Podcasts, selbst-gerippte CDs etc.pp. Jetzt habe ich mir auf meinen Laptop (kleinere Festplatte) nur ungefähr die halbe Sammlung gepackt, dort aber sortiert und vor allem umsortiert - statt nach Genre, ist die Musik jetzt einfach nur nach Sprache geordnet (dt, frz, eng) und dann gibt es vielleicht einen oder zwei Unterordner. Auch Fotos haben jetzt statt einem Datum einen Ortsnamen als Ordnernamen. Damit bin ich auch total zufrieden, aber wenn ich jetzt das ganze System vereinheitlichen will damit Desktop und Laptop wieder auf dem gleichen stand sind, müsste ich aufgrund der anderen Ordnerstruktur jede(n) Datei/Album/Unterordner per Hand sortieren.
    Ich brauche also etwas wie die native Windows Funktion die mir sagt "dieser Ordner enthält bereits eine Datei mit dem Namen Glücksbärchis_im_takkaTukkaLand.mp3, möchten Sie diese ersetzen?", allerdings eben nicht ganz weil es eben nicht mehr der gleiche Ordner ist. Habe da leider nicht richtig mitgedacht, sonst hätte ich die ganze nummer anders aufgezogen :ugly:
     
    Zuletzt von einem Moderator bearbeitet: 3. Juni 2012
  4. Hardkorny Mag Pizza Pasta!

    Hardkorny
    Registriert seit:
    30. Mai 2011
    Beiträge:
    8.599
    Zuletzt bearbeitet: 3. Juni 2012
  5. Synctoy kenne Ich und habe ich eine Zeit lang auch benutzt, aber da es nicht installiert war bevor ich die Ordnerstrukturen geändert habe dürfte es mir leider nicht richtig weiterhelfen.
     
  6. Niemand eine Idee?
    Vielleicht wenn schon kein Programm dann wenigstens eine Idee wie man das am geschicktesten per Hand machen könnte? Ich denk bei sowas häufig zu kompliziert.. :confused:
     
  7. Ich hatte vor einiger Zeit ein ähnliches Problem bei dem ein Arbeitskollege einen Festplattenausfall hatte und das letzte Backup, trotz meiner ständigten Predigten, schon einige Zeit zurücklag.

    Damals musste ich relativ rasch eine Möglichkeit finden, eine größere Anzahl an Dateien zu vergleichen. Ich habe deswegen ein vb script geschrieben, welches die Dateien in zwei (oder potentiell mehr) Ordnern und deren Unterordnern vergleicht.

    Es werden zwar keine Dateien synchronisiert (so leicht wollte ich es dem Kollegen dann auch nicht machen) aber zumindest solltest du so eine Übersicht darüber bekommen, welche Dateien wo liegen.

    Um das Script auszuführen musst du den Text im Codefenster unten in eine Textdatei kopieren, die Dateiendung in .vbs ändern und die folgenden Parameter ganz am Anfang der Datei Pflegen:


    • Erster_Ordner - Erster Ordner dessen Dateien verglichen werden sollen
    • Zweiter_Ordner - Zweiter Ordner dessen Dateien verglichen werden sollen
    • Ergebnis_Ordner - Ordner, in dem die Ergebnisdatei erstellt werden soll
    • Filesize_Vergleichen - Wenn True, dann wird zusätzlich zum Dateinamen auch die Dateigröße verglichen, bei False nur der jeweilige Dateiname
    • Nur_Doppelte_Ergebnisse - Wenn True, dann werden in der Ergebnisdatei nur Dateinamen ausgegeben, die in mehreren Ordnern gefunden wurden, bei False werden alle Dateien ausgegeben.
    Als Ergebnis wird im angegebenen Verzeichnis eine Textdatei erstellt in der du pro Zeile den Dateinamen, optional die Dateigröße und danach die Verzeichnisse, in denen die Datei gefunden wurde, findest.


    Code:
    Erster_Ordner = "C:\Ordner1"
    Zweiter_Ordner = "C:\Ordner2"
    Ergebnis_Ordner = "C:\"
    Filesize_Vergleichen = True
    Nur_Doppelte_Ergebnisse = False
    
    
    
    
    set fs = CreateObject("Scripting.FileSystemObject")
    set resultdic = CreateObject("Scripting.Dictionary")
    
    if right(Ergebnis_Ordner,1) <> "\" then Ergebnis_Ordner = Ergebnis_Ordner & "\"
    
    if fs.FolderExists(Erster_Ordner) then
        set foldera = fs.GetFolder(Erster_Ordner)
    else
        msgbox "Ordner " & Erster_Ordner & " nicht gefunden, bitte Pfad überprüfen.", vbcritical
    end if
    
    if fs.FolderExists(Zweiter_Ordner) then
        set folderb = fs.GetFolder(Zweiter_Ordner)
    else
        msgbox "Ordner " & Zweiter_Ordner & " nicht gefunden, bitte Pfad überprüfen.", vbcritical
    end if
    
    if fs.FolderExists(Ergebnis_Ordner) then
        Set resulttxt = fs.CreateTextFile(Ergebnis_Ordner & "result.txt", True, True)
    else
        msgbox "Ordner " & Ergebnis_Ordner & " nicht gefunden, bitte Pfad überprüfen.", vbcritical
    end if
    
    GetFiles(foldera)
    GetFiles(folderb)
    
    resultar = resultdic.Keys
    
    if Nur_Doppelte_Ergebnisse = False then
        for i = 0 to resultdic.Count -1
            resulttxt.Writeline resultar(i) & vbTab & resultdic.item(resultar(i))
        next
    else
        for i = 0 to resultdic.Count -1
            if instr(resultdic.item(resultar(i)), vbTab) then
                resulttxt.Writeline resultar(i) & vbTab & resultdic.item(resultar(i))
            end if
        next
    end if
    
    resulttxt.Close
    
    Wscript.Quit
    
    
    
    
    
    sub GetFiles(folder)
        for each subfolder in folder.subfolders
            set currentfolder = fs.GetFolder(subfolder.path)
            set folderfiles = currentfolder.files
            
            for each ofile in folderfiles
                if Filesize_Vergleichen = True then
                    fileid = ofile.Name & vbTab & ofile.Size
                else
                    fileid = ofile.Name
                end if
    
                filepath = ofile.Path
                
                if resultdic.exists(fileid) then
                    resultdic.item(fileid) = resultdic.item(fileid) & vbTab & filepath
                else
                    resultdic.add fileid, filepath
                end if
    
                ' resulttxt.writeline ofile.Name & "|" & ofile.Size & "|" &ofile.Path
            next
    
            GetFiles(subfolder)
        next
    end sub
    
    Ich hoffe, dass das script bei dir richtig läuft, ursprünglich war es ein Stück umfangreicher, ich habe jetzt aber nur den Teil rauskopiert, der für dich relevant ist.
     
  8. Stachelpflanze

    Stachelpflanze
    Registriert seit:
    1. Juni 2009
    Beiträge:
    8.761
    Beyond Compare
     
  9. Gerade bei Musik und Bildern sehe ich nicht wirklich den Vorteil "sortierter" Ordner. Warum nimmst du nicht entsprechende Metabrowser dafür? z.B. Foobar für Music und Picasa für Bilder? Meist kannst du dann über die Programme auch jederzeit die Struktur automatisch verändern.

    Ich hebe meine Musikordner auch nur nach Interpret / Ablum (Jahr) auf und das wars. Falls ich was jazziges suche oder diverse Sternenbewertungen bzw. BPMs kombinieren will geht das dort bedeutend einfacher. Außerdem kann man die Struktur immer wieder anhand der sauberen Metainfos in den Dateien wiederherstellen.

    Was das synchronisieren der Sachen angeht... über welche Größenordnung sprechen wir?
     
  10. Seeks

    Seeks
    Registriert seit:
    27. November 2005
    Beiträge:
    472
    Du müsstest halt alle Dateien auf einen Rechner packen zum verlgeichen, evtl geht auch die betroffenen Verzeichnisse als Netzlaufwerk einzubinden. Aber dann könntest du Anti-Twin oder All-Dup verwenden
     
Top