ROM-Set Splitter

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • ROM-Set Splitter

      Motivation?
      Um meine Raubkopien-Sammlung effizienter verwalten zu können (sprich ROM-Sets entpacken und in Unterordner aufteilen) habe ich mir eine WinForms-Anwendung in C# geschrieben. Kurz: Mir war es zu viel Energie, die ich in das händische Sortieren meiner Raubkopien-Sammlung stecken musste!

      Technisch?
      Kompiliert ist das Ganze gegen .NET 4.6 mit VisualStudio 2015 und nutzt Sprachfeatures von C#6 (eigentlich nur StringInterpolation). Ich habe alles unsauber in die Hauptform gerotzt (bitte nicht bei mir auf der Arbeit sagen, die entlassen mich dafür direkt oder schlimmer ... sie binden mich im Hauptflur an den firmeneigenen Schandpfahl!), habe nicht sonderlich defensiv programmiert und habe mich dazu speziell an meinen Anforderungen an die Anwendung orientiert.

      Was macht das Ding?
      1. Legt im ausgewählten "Zielverzeichnis" die Unterordner-Struktur an: #,A-Z.
      2. Nimmt die ROMs aus dem "ROM-Verzeichnis" und kopiert sie alphabetisch sortiert in die neu angelegten Unterverzeichnisse: Lettern in die entsprechenden Verzeichnisse A-Z, alles Andere in #. Es ist dabei egal, wie die Dateien im "ROM-Verzeichnis" strukturiert sind. Die Anwendung geht durch alle Unterverzeichnisse durch und sammelt die ROMs dort ab. Umlaute oder andere Sprachen werden derweil nicht unterstützt. Brauchte ich auch nicht. Wenn man solche ROMs dabei hat wird die Anwendung tierisch auf die Fresse fliegen.
      3. Auf Wunsch werden die ROM-Dateien auch noch entpackt: Unterstützt wird *.7z, *.zip, *.rar


      Wie sieht es aus?
      So sieht es aus, ... ziemlich schrottig ABER funktional:


      Wo bekomme ich es?
      Im Anhang. Einmal das Rar-File mit "Application". Das enthält nur das Kompilat im Release-Modus und die benötigten Fremdkomponenten. Dann noch die komplette Solution, da kann sich jeder gerne dran austoben, verbessern, ausmisten, ... wonach euch auch immer der Sinn steht.

      Moment? Er sagte Fremdkomponenten? Ist der BND involviert? Wird nach Hause gefunkt?
      Ich denke eher nicht. Ich nutze zum Entpacken der Dateien einen .NET-Wrapper um 7Zip. Dieses Projekt ist OpenSource und ist hier zu finden: sevenzipsharp.codeplex.com/
      Dazu benötigt man noch die Kern-DLL von 7Zip selber (7z.dll und/oder 7z64.dll). 7Zip selber ist auch OpenSource: 7-zip.de/



      Eventuell kann es ja jemand gebrauchen, der genau so viel kriminelle Energie besitzt wie ich, dabei aber mindestens genau so faul ist wie ich!
      Viel Spaß damit.

      P.S.
      Ich übernehme keinerlei Gewährleistung/Garantie auf Funktion und Umfang der bereitgestellten Software und schon gar nicht auf die Fremdkomponenten. Auch für eventuelle Folgen hafte ich nicht! Word!
      Dateien

      Dieser Beitrag wurde bereits 16 mal editiert, zuletzt von cyrex ()

    • Ich habe vergessen zu erwähnen, dass es egal ist wie die Ursprungsdateien (ROM-Verzeichnis) in der Struktur vorliegen. Also egal ob mit Unterordnern oder nicht. Ich gehe rekursiv alle Unterordner durch und mache mir aus den darin enthaltenen Dateien eine flache Liste.

      Und wenn die Datei im Zielverzeichnis schon existiert, dann passiert einfach gar nüschd:

      Quellcode

      1. if (File.Exists(zielDatei.FullName) == true)
      2. {
      3. continue;
      4. //TODO: Logging
      5. }
      Sollte eigentlich mal irgendwie ausgegeben werden. Beim TODO ist es dann aber auch geblieben -.- ... Faulheit halt.

      Viel Spaß beim verwenden und/oder weiterentwickeln.