Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Musikstücke kopieren aus playlist

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

02.05.2008, aktualisiert 04.05.2008, 3740 Aufrufe, 5 Kommentare

Hi Leute,

Ich habe eine Playliste die so aussieht:

01.
Z:\Musik\MP3 2007\Hitparade\Chicago Bulls - Theme Song.mp3 
02.
Z:\Musik\MP3 2007\Hitparade\MICHAEL JACKSON - Who is it.mp3 
03.
Z:\Musik\MP3 2007\Hitparade\Atomic Kitten - Whole again.mp3 
04.
Z:\Musik\MP3 2007\Hitparade\Celine Dion - Think Twice.mp3 
05.
Z:\Musik\MP3 2007\Hitparade\Don't be cruel1.mp3
Nun möchte ich per Batch die Files in einen anderen Ordner kopieren und habe begonnen mir dieses zu erstellen.
Die Dateien sollen den selben Dateinamen bekommen, aber z.B im Ordner "Z:\neue Files" befinden!

Leider komme ich nicht zurande aus meiner Playlist den Pfad von der Datei zu trennen um die Dateien in einen anderen Ordner zu kopieren.

Kann mir wer Starthilfe geben?
Mitglied: tacker
02.05.2008 um 16:16 Uhr
salü

um die dateinamen vom pfad zu trennen kannst du folgenden schnipsel verwenden!

01.
@echo off 
02.
FOR /F "tokens=5 delims=\" %%i in (playlist.txt) do echo.%%i>>playlist_neu.txt
musst einfach noch anstatt von playlist.txt und playlist_neu.txt entsprechend deine dateinamen eingeben! so werden einfach die dateinamen in ein neues textfile geschrieben, wobei du natürlich mit der variable %%i anderweitig weiterarbeiten kannst (copybefehl)

gruss tacker
Bitte warten ..
Mitglied: miniversum
02.05.2008 um 16:23 Uhr
Mit einer For-Schleife kanst du ja die Playlist einzeln durchlaufen udn eben diese Dateien ermitteln.
In der Hilfe zum for befehl kans tdu dan auch sehen wie du an die einzelnen Dateinamen herankommst. Hier ein Auszug (ziemlich am Ende der Hilfe):
01.
Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert. 
02.
Sie können jetzt folgende Syntax verwenden: 
03.
 
04.
    %~I         - Expandiert %I und entfernt alle umschließenden 
05.
                  Anführungszeichen ("). 
06.
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen. 
07.
    %~dI        - Erzeugt nur den Laufwerkbuchstaben von %I. 
08.
    %~pI        - Erzeugt nur den Pfad von %I. 
09.
    %~nI        - Erzeugt nur den Dateinamen von %I. 
10.
    %~xI        - Erzeugt nur die Dateierweiterung von %I. 
11.
    %~sI        - Erzeugter Pfad enthält nur kurze Dateinamen. 
12.
    %~aI        - Erzeugt die Dateiattribute von %I. 
13.
    %~tI        - Erzeugt Datum und Zeit von %I. 
14.
    %~zI        - Erzeugt die Dateigröße von %I. 
15.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen 
16.
                  angegebenen Verzeichnisse und expandiert die erste 
17.
                  gefundene Datei %I zu dem vollständigen Dateinamen. 
18.
                  Wenn der Name der Umgebungsvariablen nicht definiert 
19.
                  ist oder diese Datei bei der Suche nicht gefunden wurde, 
20.
                  wird dieser Parameter zu einer leeren Zeichenkette 
21.
                  expandiert.
Das ganze geht also einfach einfach, nach zuvor erstelltem Zielordner, z.B. so:
FOR /F "delims=" %%i in (Playlist.txt) do copy "%%i" "C:\Zielordner\%%~nxi"

PS: Solltest du damit rechnen dass die Dateinamen auch Umlaute enthalten könnten müßtest Du vorher noch die Codepage umschalten. Auch zu beachten wäre noch das je nach Programm mitdenen sie wie erstellt wurden einige Playlisten auch relative Pfade enthalten können.
Bitte warten ..
Mitglied: pbelcl
04.05.2008 um 07:42 Uhr
Danke für Eure Tips!

Hab die Zeile von miniversum verwendet:
> FOR /F "delims=" %%i in (Playlist.txt) do copy "%%i" "C:\Zielordner\%%~nxi"

und daraus folgendes gemacht
01.
@echo off 
02.
chcp 1252 
03.
 
04.
SET liste=meine_TOPHITS 
05.
SET LW=p:\mp3's 
06.
SET ZielPfad="P:\Mp3's\0 - Musik zusammenkopiert\%liste%\" 
07.
 
08.
if not exist %ZielPfad% md %ZielPfad% 
09.
FOR /F "delims=" %%i in (%liste%.m3u) do copy "%%i" %zielpfad%%%~nxi
Klappt im Grunde schon fast außer dass ich wieder mal das Anführungszeichen Problem habe!!
Die Anführungszeichen die in der Variable %Zielpfad% drinnen sind zerstören in der FOR Schleife den Ausgabepfad!

Ich weiß daß ich dieses Problem mit eine kleinen copybatch lösen könnte den ich in der Schleife aufrufe, aber bevor ich mir darüber den Kopf zerbrechen mal die Frage:
Gibt es einen einfacheren Weg die Anführungszeichen aus der Variablen rauszubekommen?

%~zielpfad% hab ich probiert der hilft nix
Bitte warten ..
Mitglied: miniversum
04.05.2008 um 10:05 Uhr
Eigentlich müßte es so funktionieren. Ich denke da kommen eher Probleme wegen Leerzeichen im Dateinamen zum tragen.

Aber wenn du den Zielpfad ohne Anführungszeichen willst dann gehts auch so:
01.
@echo off & setlocal 
02.
chcp 1252 
03.
 
04.
SET liste=meine_TOPHITS 
05.
SET LW=p:\mp3's 
06.
SET "zielpfad=P:\Mp3's\0 - Musik zusammenkopiert\%liste%" 
07.
 
08.
if not exist %ZielPfad% md %ZielPfad% 
09.
FOR /F "delims=" %%i in (%liste%.m3u) do copy "%%i" "%zielpfad%\%%~nxi"
Bitte warten ..
Mitglied: pbelcl
04.05.2008 um 13:34 Uhr
Danke für den Hinweis, das " gleich nach dem SET Befehl hatte ich noch nicht ausprobiert!

SET "zielpfad=P:\Mp3's\0 - Musik zusammenkopiert\%liste%"

hat funktioniert.

Werde jetzt mal testen ob jetzt alles andere auch funktioniert, danke vorerst....
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Datenbanken
gelöst DB2 Daten in Windows DB2 kopieren (1)

Frage von Emheonivek zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...

DSL, VDSL
DSL-Signal bewerten (8)

Frage von SarekHL zum Thema DSL, VDSL ...