Hallo,
mir ist das NAS abgeraucht und es fehlen viele Filme und Serien.
Die DVDs bzw. BlueRays habe ich alle, aber wie kann ich schnell eine Liste der fehlenden Dateien bekommen?
Gruß Tolotos
Datenbankabgleich mal anders
-
Tolotos -
7. April 2014 um 20:08 -
Erledigt
-
-
An sich solltest du die Datenbank einfach in EXCEL einlesen können.
Nicht schön, aber für deinen Zweck dienlich. -
-
Das wird schlecht gehen, ich vergaß zu sagen, dass ich eine zentrale DB (mariadb) verwende.
Ich habe mal meine java Kenntnisse aufgewärmt und das folgende Program geschrieben:
Java
Alles anzeigenpackage listmissingmovies; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.Collections; import java.util.List; import jcifs.smb.NtlmPasswordAuthentication; import jcifs.smb.SmbFile; public class ListMissingMovies { private static final String dbUser = "xbmc"; private static final String dbPasswd = "xbmc"; private static final String smbUser = "<username>"; private static final String smbPasswd = "<secret>"; public static void main(String[] args) { try { // Load driver Class.forName("org.mariadb.jdbc.Driver"); System.out.println("Open connection"); Connection connection = DriverManager.getConnection("jdbc:mysql://XBMC-Datenbank:3306/xbmc_video75", dbUser, dbPasswd); System.out.println("Connection ready"); System.out.println("Load files from database"); List<String> filesFromDB = new ArrayList<String>(); Statement stmt1 = connection.createStatement(); ResultSet rs = stmt1.executeQuery("select f.strFileName as fileName, p.strPath as path from files f join path p on p.idPath = f.idPath"); while (rs.next()) { String fileName = rs.getString("fileName"); String path = rs.getString("path"); if (fileName != null && !fileName.equals("") && path.startsWith("smb")) { filesFromDB.add(path + fileName); } } System.out.println("Loading finished"); Collections.sort(filesFromDB); NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("", smbUser, smbPasswd); int index = 1; for (String currFile : filesFromDB) { SmbFile smbFile = new SmbFile(currFile, auth); if (!smbFile.exists()) { if (index < 10) { System.out.print("000"); } else if (index < 100) { System.out.print("00"); } else if (index < 1000) { System.out.print("0"); } System.out.println(index++ + ": " + currFile); } } System.out.println("Done"); } catch (Exception ex) { ex.printStackTrace(); } } }
Da kommen jetzt 243 fehlende Filme raus - das gibt eine neu-rip-orgie
Gruß Tolotos
PS: Evtl. kann jemand den Code als Plugin umschreiben.
-
Was heisst nas abgeraucht, pkatten defekt? Haste mal ein Wiederherstellung mittels Photorec oder so probiert?
Gesendet von meinem iPad mit Tapatalk
-
-
Die Platten sind in Ordnung das tolle neue M$ Filesystem ReFS hat ein Problem wenn die Platten voll werden. Ich habe mir ein ReFS Recovertool gekauft und die meisten Daten retten können. aber die 243 Filme/Serien muss ich neu rippen.
Jetzt habe ich wieder NTFS auf den Platten. Da ich den PC auch zum rippen von BluRays verwende, kam Linux nicht in frage.Gruß Tolotos
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!