Προς το περιεχόμενο

Σύγκριση καταλόγου και xml αρχείου


Wise_One

Προτεινόμενες αναρτήσεις

Δημοσ.

Παίδες καλησπέρα, ο τίτλος δεν είναι ο πλέον κατατοπιστικός αλλά μόλις εξηγήσω θα καταλάβετε τί εννοώ.

 

ΤΟ ΠΡΟΒΛΗΜΑ: Έχω ~400 μουσικά cd. Θέλω να ελέγξω ποιά απ' αυτά δεν έχω σε mp3 στο σκληρό μου (εξωτερικός δίσκος) ούτως ώστε να τα ριπάρω.

 

Φυσικά ο σκληρός έχει κι mp3 που δεν έχω σε δισκάκια αλλά αυτό δεν παίζει κανένα ρόλο. Επίσης, τα mp3 είναι κατά Συγκρότημα/Τίτλος Αλμπουμ.

 

ΟΙ ΛΥΣΕΙΣ: Ξέρω πολύ καλά ότι με τον ένα ή τον άλλο τρόπο θα πρέπει να γράψω τα ~400 άλμπουμ σε χαρτί ή στο pc. Λογικά αυτό το σημείο δε το γλιτώνω.

 

Σκέψη: Να γράψω με το χέρι στο pc τα άλμπουμ (Συγκρότημα - Τίτλος άλμπουμ) σε xml αρχείο, να γράψω ένα πρόγραμμα που θα διαβάσει το δέντρο του καταλόγου που έχω τα mp3 και θα τ' αποθηκεύσει αντίστοιχα σε xml αρχείο, και μετά να γίνει σύγκριση των xml.

 

Η βασική σκέψη είναι η παραπάνω, με 2-3 εναλλακτικές μ' ελάχιστες διαφορές. Βασικά το ίδιο πράγμα.

 

Κάτι που σκέφτηκα μόλις τώρα: Να κάνω το πρόγραμμα που θα διαβάσει τον κατάλογο και θα δημιουργήσει το xml. Μετά να κάνω μηχανισμό που θα διαβάσει τη δομή (στη μνήμη ή απ' το αρχείο) και θα κάνει search για το άλμπουμ που του δίνω, ή να μου εμφανίζει τα άλμπουμ του εκάστοτε συγκροτήματος (τακτοποιώ τα cd μου στα ράφια ανά συγκρότημα).

 

Τί λέτε παίδες; Αξίζει να κάνω το δεύτερο; Μου φαίνεται πιο ενδιαφέρον. GUI αυτή τη στιγμή δε μ' ενδιαφέρει. Έχετε κάποια άλλη πρόταση ή σχόλιο; Το πρόγραμμα θα γίνει σε Java ή C#.

Δημοσ.

Φίλε μου τ' ότι έχω στα mp3 tags, έχω. Το θέμα τώρα ποιό είναι, επειδή έχω και κατάλογο με Various Artists, θα γίνει μεγάλο μπέρδεμα αν πάει να διαβάσει με τα tags. Υπάρχει και το ενδεχόμενο κάποια mp3 να μην έχουν, λόγω απροσεξίας μου. Λίγα βέβαια, η πιθανότητα όμως υπάρχει.

 

Γι' αυτό το λόγο προτιμώ τη δομή του καταλόγου, ακολουθείται αυστηρά η Συγκρότημα/Αλμπουμ δομή...

Δημοσ.

μην γραψεις 400 cd με το χερι τραβα τις πληροφοριες απο το cd-text αν εχει η απο το cddb και μετα συγκρινε τις πληροφοριες που πειρες με τα mp3 ποθ εχεις

Δημοσ.

Αυτό όμως δε σημαίνει ότι θα βάλω/βγάλω 400 δισκάκια στο drive; Γλιτώνω έτσι χρόνο; Νομίζω πως όχι, πιο γρήγορα θα γράψω το συγκρότημα και το άλμπουμ στα tags του xml παρά να ψάξει να βρει τις πληροφορίες στο Νετ.

 

Κι αν πάω να διαβάσω τα tags από τουλάχιστον 15.000 τραγούδια, δε θ' αργήσει πολύ περισσότερο απ' το να φτιάξει το xml; Σίγουρα...

Δημοσ.

τοτε δεν χρειαζεσαι προγραμμα αφου τα εχεις οργανομενα συγκροτημα-album παιρνεις ενα ενα τα cd κοιτας συγκροτημα πας στον φακελο του συγκροτηματος κοιτας album τσεκαρεις με το ματι αμα το εχεις και τελειωσες

Δημοσ.

Ακολουθεί μπακάλικη λύση, χωρίς XML.

 

Έστω ότι έχω τα MP3 μου στην παρακάτω δενδρική δομή καταλόγων:

>
E:\>tree /a E:\MP3
Folder PATH listing for volume Data
Volume serial number is 94F3-FBC3
E:\MP3
+---Artist1
|   +---Album1_1
|   +---Album1_2
|   \---Album1_3
+---Artist2
|   +---Album2_1
|   +---Album2_2
|   \---Album2_3
\---Artist3
   +---Album3_1
   +---Album3_2
   \---Album3_3

 

Σώζω στον E:\MP3 το παρακάτω batch file και το τρέχω:

>
set OUTPUTFILE=%TEMP%\myalbums.txt
if exist %OUTPUTFILE% del %OUTPUTFILE%
for /d %%a in (*) do (
dir /s/b %%a >> %OUTPUTFILE%
)

 

Το αρχείο %TEMP%\myalbums.txt θα περιέχει τα παρακάτω:

>
E:\MP3\Artist1\Album1_1
E:\MP3\Artist1\Album1_2
E:\MP3\Artist1\Album1_3
E:\MP3\Artist2\Album2_1
E:\MP3\Artist2\Album2_2
E:\MP3\Artist2\Album2_3
E:\MP3\Artist3\Album3_1
E:\MP3\Artist3\Album3_2
E:\MP3\Artist3\Album3_3

 

Με έναν text editor και Search and Replace, αφαιρώ το string "Ε:\MP3\":

>
Artist1\Album1_1
Artist1\Album1_2
Artist1\Album1_3
Artist2\Album2_1
Artist2\Album2_2
Artist2\Album2_3
Artist3\Album3_1
Artist3\Album3_2
Artist3\Album3_3

 

Φτιάχνω χειροκίνητα κι ένα 2o txt που περιέχει τα albums των CD μου, στην παραπάνω ακριβώς μορφή και alphabetically sorted (αυτό, αφού δε θέλεις να βάζεις/βγάζεις ένα-ένα τα CD σου στο optical drive, δεν το γλυτώνεις όντως).

 

Φτιάχνω ένα προγραμματάκι που θα διατρέχει παράλληλα τα δύο αρχεία συγκρίνοντάς τα γραμμή-γραμμή και όπου βρίσκει ανακολουθίες, θα τις τυπώνει.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...