Dateien Auswahl / Kopieren aus einer Excel-Liste, wie gehts?

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Nesta
Junior Member
Junior Member
Posts: 7
Joined: 2015-06-09, 19:47 UTC

Dateien Auswahl / Kopieren aus einer Excel-Liste, wie gehts?

Post by *Nesta »

mal ne ziemlich dummer Frage...

also, ich bin absoluter Newbie, was die Nutzung des TC angeht und stehe vor folgendem "Problem":

über Jahre hinweg habe ich meine extrem umfangreiche CD- und LP-Sammlung konsequent durchgehört und mir Favoritenlisten gemacht, also z.B. von der CD 123 gefallen mir nur die Tracks 2, 5 und 8, von der CD 456 nur die Tracks 4, 9, 11 und 15, usw

z. Zt. liegen die "Ergebnisse" meiner Bewertungen als simple Excel Liste vor, d.h. linke Spalte der Name des Folders und rechte Spalte eine numerische Aufzählung a la "1, 4, 8, 12" oder ggf. "keine" bzw. "komplett"

mein Wunsch: aus den Foldern sollen automatisch die Tracks gelöscht werden, die in der Aufzählung nicht vorkommen, beim Beispiel also 2, 3, 6, 7, sowie 9 - 11 (alternativ: es wird ein neuer Folder angelegt, der lediglich die in der Liste aufgezählten Tracks enthält)

Frage:

ist so etwas (vermutlich mit einer Script Lösung) mit dem TC (oder einem anderen Tool) machbar oder muß ich tatsächlich jeden der gut 3.000 Ordner "händisch" durchgehen?

Für Antworten vielen Dank im Voraus!
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1050
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Ist sicherlich per Skript möglich. Nen paar Details sind aber noch vonnöten, z.B. liegen alle Ordner auf einer Ebene oder gibt es noch Unterordner?
Wie genau sind die Titel benannt (für die Erkennung der Tracknummer) oder haben alle Dateien durchgängige und korrekte Tracknummern im ID3-Tag?
User avatar
Dalai
Power Member
Power Member
Posts: 9974
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Eine Variante: Exportiere die Tabelle als Textdatei, modifiziere diese so, dass pro Zeile ein Dateiname mit Pfad steht, und zwar relativ zum Verzeichnis, in dem die Sammlung liegt. Rufe nun die Suche auf und gib im Feld "Suchen in" die Textdatei so an: @C:\Pfad\zur\Textdatei. Das findet alle gewünschten Titel. Die kann man nun nach einem "Feed to listbox" wegkopieren (mit Plugin TreeCopyPlus bzw. CopyTree auch unter Beibehaltung der Verzeichnisstruktur) und anschließend die Quellen löschen.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Nesta
Junior Member
Junior Member
Posts: 7
Joined: 2015-06-09, 19:47 UTC

Post by *Nesta »

dabnke für die Antworten bisher

um das noch mal klar zu machen

in den Ordnern sind die einzelnen Tracks in der Regel mit vollständigen ID3 Tags versehen; ein typischer Dateinname lautet

01 Song A
02 Song B

usw

in der Excel Liste dagegen stehen zur Zeit nur die Track Nummern, also 01, 02, etc, ohne den Namen der Tracks

ja, es gibt Unterordner, immer dann, wenn es sich um Mehrfach-CDs handelt; das sind aber nicht allzu viele, die könnte ich problemlos manuell anpassen
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Kopiere nur die Guten - Dateiauswahl anhand Excelliste

Post by *Stefan2 »

Hallo Nesta, willkommen im Forum!

Eine Bitte vorweg, bitte benenne deine erstellten Threads
mit einem aussagekräftigen Betreff (Subject)
damit man klar erkennen kann, worum es in einem Thread geht.
Das erleichtert auch Anderen die Suche bei ähnlichen Problemen. Danke.
Z.B. "Dateiauswahl anhand Excelliste" ?


Zweitens, ist es immer hilfreich zum besseren Verständnis
ein paar Beispiele deiner Verzeichnisstruktur anzugeben, z.B.:

X:\Musik\Artist ABC\1 Song Blue.mp3
X:\Musik\Artist ABC\2 Lied Beispiel.mp3
X:\Musik\Künstler Zwo\1 Melodie in A-Mol.mp3

Excel:
. |      A        | B |   C  |    D
1|Artist ABC | 2 |       |
2|Artist ABC | 7 |       |


Gewünschte Aktion:
X:\Musik\Artist ABC\2 Lied Beispiel >>> Y:\DieGuten\Artist ABC\2 Lied Beispiel.mp3


Anhand dieser Liste würde ich wahrscheinlich in einer
weiteren Excel-Spalte einen DOS-Befehl zusammenbauen, ala:

"COPY X:\Musik\" & A1 & "\" & A2 & "*.mp3 Y:\DieGuten\" & A1 & "\"

Das sollte den folgenden Befehl ergeben:
"COPY X:\Musik\Artist ABC\2*.mp3 Y:\DieGuten\Artist ABC\"


Diesen Formel kann man automatisch in alle Zeilen runterkopieren lassen.

Diese Spalte kann man dann als KopiereDieGuten.cmd speichern und ausführen.



Nur mal als Idee, muss wahrscheinlich alles noch angepasst werden. damit es wie gewünscht funktioniert.
zB fehlen noch ein paar Quotes.

 
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Ich hätte noch eine andere Idee, allerdings ohne TC:

- alle Tracks aus der excel im WMP laden
- die Playlist dann MIT den Dateien exportieren
- das Ursprungsverzeichnis kann dann archiviert oder gelöscht werden

Wenn alles nicht in EINER *.m3u stehen soll dann muss ein Weg gefunden werden den Inhalt der *.xls in mehrere *.m3u zu packen. Die dann im WMP laden und s.o.

Gruss maat
#101512
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1050
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Hiermal kurz in PowerShell.

Erstmal die Excel-Datei als CSV speichern. Sollte dann im Texteditor so aussehen:

Code: Select all

Album;Tracks
Botch - American Nervoso;2, 3, 8, 12
The Dillinger Escape Plan - One of Us Is the Killer (2013);1, 4, 5, 9
Die erste Zeile in Excel bzw der CSV muss "Album;Tracks" sein, ansonsten den Code anpassen.

Hier das Skript (als Irgendwat.ps1 speichern):

Code: Select all

#----ANPASSEN!----
$csvDatei = "C:\MP3-Auswahl.csv"
$quellOrdner = "C:\MP3s"
$zielOrdner = "C:\MP3-Favs"
#----

$dataCSV = Import-Csv -Path $csvDatei -Delimiter ";" 

foreach ($eintragCSV in $dataCSV)
{
	$ordnerAlbum = $quellOrdner + '\' + $eintragCSV.Album
	$dest = $zielOrdner + '\' + $eintragCSV.Album + '\'
	$dateienInOrdnerAlbum = Get-ChildItem -Path $ordnerAlbum
	$arrTracks = $eintragCSV.Tracks.Replace(" ","").Split(",")

	foreach ($track in $arrTracks)
	{
		foreach ($datei in $dateienInOrdnerAlbum)
		{
			$matchRegEx = '^[0]*' + $track + '\D'
			if ($datei.Name -match $matchRegEx)
			{
				Copy-Item -path $datei.FullName -Destination $dest
			}
		}
	}
}
Das Skript kopiert Dateien die mit einer passenden Zahl beginnen (führende Nullen werden ignoriert).

*Edit: Code leicht umsortiert.
Last edited by ZoSTeR on 2015-06-13, 20:49 UTC, edited 1 time in total.
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

ZoSTeR wrote: Excel-Datei

Code: Select all

Album;Tracks
Botch - American Nervoso;2, 3, 8, 12
The Dillinger Escape Plan - One of Us Is the Killer (2013);1, 4, 5, 9
Ach SO rum? Stimmt, jetzt sehe ich das auch. Hatte ich zuerst falsch verstanden.




 
Nesta
Junior Member
Junior Member
Posts: 7
Joined: 2015-06-09, 19:47 UTC

Post by *Nesta »

sorry, bin im moment beruflich unterwegs, werde mich am wochenende wieder melden, bis hierher erst mal danke
User avatar
raeubi
Power Member
Power Member
Posts: 575
Joined: 2003-11-25, 09:01 UTC
Location: Rhein/Main

Re: Kopiere nur die Guten - Dateiauswahl anhand Excelliste

Post by *raeubi »

Stefan2 wrote: bitte benenne deine erstellten Threads
mit einem aussagekräftigen Betreff (Subject)
damit man klar erkennen kann, worum es in einem Thread geht.
Das erleichtert auch Anderen die Suche bei ähnlichen Problemen. Danke.
Z.B. "Dateiauswahl anhand Excelliste" ?
Bitte an den Threadstarter, diesem Hinweis nachzukommen!
Zum Einen ist das wirklich keine "dumme Frage",
zum Anderen wäre ein erklärender Titel auch für andere User sinnvoll, die bei der Suche nach Lösungen, auf diesen Thread stoßen!

Danke!
Räubi
(#2852 + #287609)
Nesta
Junior Member
Junior Member
Posts: 7
Joined: 2015-06-09, 19:47 UTC

Re: Kopiere nur die Guten - Dateiauswahl anhand Excelliste

Post by *Nesta »

raeubi wrote:
Stefan2 wrote: bitte benenne deine erstellten Threads
mit einem aussagekräftigen Betreff (Subject)
damit man klar erkennen kann, worum es in einem Thread geht.
Das erleichtert auch Anderen die Suche bei ähnlichen Problemen. Danke.
Z.B. "Dateiauswahl anhand Excelliste" ?
Bitte an den Threadstarter, diesem Hinweis nachzukommen!
Zum Einen ist das wirklich keine "dumme Frage",
zum Anderen wäre ein erklärender Titel auch für andere User sinnvoll, die bei der Suche nach Lösungen, auf diesen Thread stoßen!

Danke!
kann ich den Titel denn nachträglich noch ändern? Ich dachte, das sei nur innerhalb eines relativ kurzen Zeitfensters möglich, sonst würde ich es natürlich gerne machen
Post Reply