Moin moin,
ich hab nen kleines Problemchen. Ich kann mir mit einem Programm eine Playliste zusammenstellen (für Musik). Diese Playliste kann ich allerdings nur im Format plr abspreichern welche im Editor so aussieht:
Quasi sehr unübersichtlich. Die wichtigesten Daten stehen allerdings drin. Und zwar der Link zur Datei. Diese Links konnte ich hiermit herrausfiltern:
Das Problem bei der Sache ist nur, jeder Link kommt 2 mal vor, deshalb erhalte ich diese Liste:
Also wäre eine Batch-datei mit der ich jede 2. Zeile Löschen kann sehr Praktisch. Es kommt nich drauf an was gelöscht wird (also muss nich umständlich nach einem String gesucht werden) sondern "einfach" jede 2. Zeile.
Ich komm einfach nich dahinter wie ich das bewerkstelligen kann.
Hoffe ihr könnt mir Helfen.
Mfg
Fox
Edit: Ich habs nun hinbekommen.
Ich bin wie folgt vorgegangen:
Per find die Daten aus der datei 1.plr herrausextrahiert und mit for /f in eine Variable geschrieben.
Jeder String wird als Variable per Call zu einem Unterprogramm kopiert. Dieser String wurde einer Variable (a = 1 oder 2) zugeordnet, quasi wurde jeder String nummeriert.
Jeder 2. String wird in die Datei Playlist.m3u kopiert und die Variable a auf 0 zurückgesetzt.
Dann wird der nächste String abgefragt, welcher die Nummer 1 besitzt, folglich wird dieser nicht Kopiert. Beim Nächsten ist a wieder 2, wird kopiert und die Variable zurückgesetzt.
Ausserdem wird nach einem Ausdruck gesucht, welcher nicht kopiert werden soll. Wird dieser Ausdruck gefunden, mit der Variable (in der der ausdruck steht) verglichen und die Variable a zurückgesetzt auf 0.
Am Schluss wir die Auslagerungsdatei, welche benötigt wird, wieder gelöscht.
Hier der Code:
ich hab nen kleines Problemchen. Ich kann mir mit einem Programm eine Playliste zusammenstellen (für Musik). Diese Playliste kann ich allerdings nur im Format plr abspreichern welche im Editor so aussieht:
Code:
RIFFÄ: MAKEPROJ üá LIST?9 MXFIFMFI0 00 - Theme - The Matrix Soundtrack - Rob Zombi
Dragula.mp3 G:\MP3´s\Themes\00 - Theme - The Matrix Soundtrack - Rob Zombi
Dragula.mp3
MP3´s/Spiele
?yß? NTFS Theme - The Matrix Soundtrack - Rob Zombi
Dragula
ë8 Rob Zombi
Dragula Theme - The Matrix
Soundtrack ?? ^@
G:\MP3´s\Themes\00 - Theme - The Matrix Soundtrack - Rob Zombi
Dragula.mp3
4? úG
4? 4? FMFI0 13 - Better Of Two
Evils.mp3
G:\MP3´s\Marilyn Manson - The Golden Age Of Grotesque\13 - Better Of Two
Evils.mp3
MP3´s/Spiele ?yß?
NTFS Marilyn Manson - Better Of Two
Evils
S{ Better Of
Two Evils Marilyn Manson The Golden Age Of Grotesque DDB
Disc ID ^@ G:\MP3´s\Marilyn Manson - The Golden
Age Of Grotesque\13 - Better Of Two
Evils.mp3
?? ?;H ??
?? FMFI0 14 - Slipknot - Bonus
Track.mp3
G:\MP3´s
\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\14 - Slipknot - Bonus
Track.mp3
MP3´s/Spiele ?yß?
NTFS Slipknot - Bonus
Track
hR
Bonus Track Slipknot
Iowa ^@ G:\MP3´s
\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\14 - Slipknot - Bonus
Track.mp3
?~? ?;H ?~? ?~? FMFI0 5 - Slipknot -
Iowa.mp3 G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\5 - Slipknot -
Iowa.mp3
MP3´s/Spiele ?yß? NTFS Slipknot - Iowa
?h Iowa Slipknot Iowa ^@ G:\MP3´s
\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\5 - Slipknot - Iowa.mp3
Quasi sehr unübersichtlich. Die wichtigesten Daten stehen allerdings drin. Und zwar der Link zur Datei. Diese Links konnte ich hiermit herrausfiltern:
Code:
@echo off
set "Quelle=C:\Dokumente und Einstellungen\h0d3n\Desktop\1.plr"
set "Playlist=C:\Dokumente und Einstellungen\h0d3n\Desktop\Playlist.m3u"
find "G:" "%Quelle%">"%Playlist%"
Das Problem bei der Sache ist nur, jeder Link kommt 2 mal vor, deshalb erhalte ich diese Liste:
Code:
---------- C:\DOKUMENTE UND EINSTELLUNGEN\H0D3N\DESKTOP\1.PLR
G:\MP3´s\Themes\00 - Theme - The Matrix Soundtrack - Rob Zombi Dragula.mp3
G:\MP3´s\Themes\00 - Theme - The Matrix Soundtrack - Rob Zombi Dragula.mp3
G:\MP3´s\Marilyn Manson - The Golden Age Of Grotesque\13 - Better Of Two Evils.mp3
G:\MP3´s\Marilyn Manson - The Golden Age Of Grotesque\13 - Better Of Two Evils.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\14 - Slipknot - Bonus Track.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\14 - Slipknot - Bonus Track.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\5 - Slipknot - Iowa.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\5 - Slipknot - Iowa.mp3
G:\MP3´s\Pete CD 2\Rob Zombie\04 - Rob Zombie - More Human Than Human.mp3
G:\MP3´s\Pete CD 2\Rob Zombie\04 - Rob Zombie - More Human Than Human.mp3
G:\MP3´s\Disturbed\Disturbed Discography\2002 - Disturbed - Sickness - 160\12 - Disturbed - Meaning Of Life.mp3
G:\MP3´s\Disturbed\Disturbed Discography\2002 - Disturbed - Sickness - 160\12 - Disturbed - Meaning Of Life.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\10 - Slipknot - People = Shit.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\10 - Slipknot - People = Shit.mp3
G:\MP3´s\Disturbed\Disturbed Discography\2003 - Disturbed - Believe - 192\02 - Disturbed - Liberate.mp3
G:\MP3´s\Disturbed\Disturbed Discography\2003 - Disturbed - Believe - 192\02 - Disturbed - Liberate.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\11 - Slipknot - Skin ticket.mp3
G:\MP3´s\Slipknot\SlipknoT - Discography [5 Albums]\Iowa\11 - Slipknot - Skin ticket.mp3
G:\MP3´s\Pete CD 2\Rob Zombie\06 - Rob Zombie - I'm Your Boogieman.mp3
G:\MP3´s\Pete CD 2\Rob Zombie\06 - Rob Zombie - I'm Your Boogieman.mp3
Also wäre eine Batch-datei mit der ich jede 2. Zeile Löschen kann sehr Praktisch. Es kommt nich drauf an was gelöscht wird (also muss nich umständlich nach einem String gesucht werden) sondern "einfach" jede 2. Zeile.
Ich komm einfach nich dahinter wie ich das bewerkstelligen kann.
Hoffe ihr könnt mir Helfen.
Mfg
Fox
Edit: Ich habs nun hinbekommen.
Ich bin wie folgt vorgegangen:
Per find die Daten aus der datei 1.plr herrausextrahiert und mit for /f in eine Variable geschrieben.
Jeder String wird als Variable per Call zu einem Unterprogramm kopiert. Dieser String wurde einer Variable (a = 1 oder 2) zugeordnet, quasi wurde jeder String nummeriert.
Jeder 2. String wird in die Datei Playlist.m3u kopiert und die Variable a auf 0 zurückgesetzt.
Dann wird der nächste String abgefragt, welcher die Nummer 1 besitzt, folglich wird dieser nicht Kopiert. Beim Nächsten ist a wieder 2, wird kopiert und die Variable zurückgesetzt.
Ausserdem wird nach einem Ausdruck gesucht, welcher nicht kopiert werden soll. Wird dieser Ausdruck gefunden, mit der Variable (in der der ausdruck steht) verglichen und die Variable a zurückgesetzt auf 0.
Am Schluss wir die Auslagerungsdatei, welche benötigt wird, wieder gelöscht.
Hier der Code:
Code:
@echo off
set "Quelle=Quelldatei mit den Daten"
set "Auslagerung=Auslagerung.txt"
find "G:" "%Quelle%">"%Auslagerung%"
find "H:" "%Quelle%">>"%Auslagerung%"
echo #EXTM3U >> Playlist.m3u
for /f "tokens=*" %%i in (Auslagerung.txt) do (
set string=%%i
call :datneu %string%
)
set a=0
del Auslagerung.txt
:datneu
set /a a=a+1
set %a%=%string%
set "b=Nicht zu kopierender Ausdruck"
if "%b%"=="%string%" set a=0
if %a%==2 echo %string% >> Playlist.m3u
if %a%==2 set /a a=0