• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

MP3/Audiodatei-Erkennung und entsprechendes handeln

Das erste was mir auffällt ist das Du nach deinen Versuchen nicht unmountest, sonst wäre das Gerät nicht schon eingehängt.

Zweitens gibt man bei find nur den Pfad an also /media/dvd und nicht /media/dvd/*

Drittens bin ich mir über die Bedeutung deiner Klammern nicht ganz im Klaren (bei deinem if find). Laß die mal weg und teste erstmal nur auf mp3s. Später kann man das auch um oggs erweitern, dazu muß ich aber erstmal schauen welche RegEx die bash akzeptiert.
 
hmmm ich habe jetzt die Klammern + ogg weggelassen. Aber der fehler bleibt leider der gleiche.

Code:
...

#Laufwerk einbinden
mount /dev/hdc

find /media/dvd -name "*.mp3" -exec cp -av {} ~/Desktop/test/mp3 --parents \;

echo -e "\a"

#Wenn keine MP3 Dateien vorhanden
....
 
Hi,

bist Du mit Deinem "mount /dev/hdc" sicher ?
Probier doch lieber "mount /dev/cdrom" oder "mount /media/dvd".
Schau ggf. auch in "/etc/fstab" nach.

Wenn Du "Keine Berechtigung" kriegst, dann probier's doch mal als root (Befehl "su").

Viele Grüße
 
Hi,

nur mal um zu zeigen, daß sowas prinzipiell schon geht:

Das folgende (nicht sehr schöne) Python-Skript durchsucht "/media/dvd" nach Dateien auf ".mp3" und ".MP3" und kopiert diese unter Aufrechterhaltung der Verzeichnisstruktur unterhalb "/media/dvd" nach "~/Desktop/test/mp3".

Das ist aber eben nur ein Teilbereich der Problemstellung:

Code:
#!/usr/bin/env python
# -*- coding: utf8 -*-

import os

CDPATH = "/media/dvd"
DESTDIR = os.environ["HOME"] + "/Desktop/test/mp3"

DIRS = []
FILES = []

def find(arg, dir, files):
    DIRS.append(dir)
    FILES.append(files)
    
os.path.walk(CDPATH, find, 0)

for i in range(len(DIRS)):
    DIRS[i] = DIRS[i].split(CDPATH)[1]
    DIRS[i] = DIRS[i].lstrip ("/")

def findMp3s(a):
    dirs = []
    b = []
    d = []
    for i in range(len(a)):
        c = []
        for u in range(len(a[i])):       
            if a[i][u][-4:] == ".mp3" or a[i][u][-4:] == ".MP3":
                c.append(a[i][u])
        if len(c) != 0:
            b.append(c)
            dirs.append(i)
    d.append(dirs)
    d.append(b)
    return(d)

a = findMp3s(FILES)

b = []
for i in range(len(a[0])):
    b.append(DIRS[a[0][i]])

DIRS = b[:]
FILES = a[1][:]

del (a)
del (b)

for i in DIRS:
    os.makedirs(DESTDIR + "/" + i)

for i in range(len(FILES)):
    for u in range(len(FILES[i])):
        os.system("cp " +  CDPATH + "/" + DIRS[i] + "/" + FILES[i][u] + " " + DESTDIR + "/" + DIRS[i])

(Kurzanleitung: Skript wie bash-Skripte behandeln, also z.B. nach "skript.py" speichern, mit "chmod +x skript.py" ausführbar machen und mit "./skript.py" (mit den nötigen Rechten) ausführen. Die Einrückungen sind von Bedeutung.)

Viele Grüße
 
ahhja sehr schön ;)
naja ich werde mich die Tage nochmal genauer mit meinem Problem ausseinandersetzen und dein Python Script werde ich im Hinterkopf behalten. Habe unter der Woche leider nur wenig zeit für sowas.
Aber trotzdem schonmal vielen Dank an alle die mir hier bisher geholfen haben :lol: :wink:
 
Oben