Dateien Auswahl / Kopieren aus einer Excel-Liste, wie gehts?
Moderators: Hacker, Stefan2, white
Dateien Auswahl / Kopieren aus einer Excel-Liste, wie gehts?
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!
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!
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
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
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
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
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
Kopiere nur die Guten - Dateiauswahl anhand Excelliste
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.
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.
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
- 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
Hiermal kurz in PowerShell.
Erstmal die Excel-Datei als CSV speichern. Sollte dann im Texteditor so aussehen:
Die erste Zeile in Excel bzw der CSV muss "Album;Tracks" sein, ansonsten den Code anpassen.
Hier das Skript (als Irgendwat.ps1 speichern):
Das Skript kopiert Dateien die mit einer passenden Zahl beginnen (führende Nullen werden ignoriert).
*Edit: Code leicht umsortiert.
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
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
}
}
}
}
*Edit: Code leicht umsortiert.
Last edited by ZoSTeR on 2015-06-13, 20:49 UTC, edited 1 time in total.
Ach SO rum? Stimmt, jetzt sehe ich das auch. Hatte ich zuerst falsch verstanden.ZoSTeR wrote: Excel-DateiCode: 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
Re: Kopiere nur die Guten - Dateiauswahl anhand Excelliste
Bitte an den Threadstarter, diesem Hinweis nachzukommen!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" ?
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)
(#2852 + #287609)
Re: Kopiere nur die Guten - Dateiauswahl anhand Excelliste
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 machenraeubi wrote:Bitte an den Threadstarter, diesem Hinweis nachzukommen!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" ?
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!