1 2 3 | #EXTINF:208,Alien Ant Farm - Smooth Criminal Alien Ant Farm - Smooth Criminal.mp3 |
1 2 3 | #EXTINF:208 D:/downloads/Muziek/Albums/A/Alient Ant Farm - Greatest Hits/Alien Ant Farm - Smooth Criminal.mp3 |
Niet helemaal wat je zoekt, maar ik heb zoiets gewoon zelf gemaakt. Dat gaat als volgt.quote:Op maandag 14 januari 2008 23:21 schreef RacerDKB het volgende:
Ik zoek dus een programma dat een m3u playlist maakt van een lijst mp3tjes die in een map staan.
Zo simpel als het maar kan. Het liefst gewoon dat je een map aanklikt en dat ie dan elk mp3tje daarin een playlist van maakt, maar opzich mp3tjes los erin slepen kan ook wel.
En het liefst freeware.
1 2 3 4 | if exist %1\*.mp3 dir %1\*.mp3 /b /on > %1\Playlist.m3u if exist %1\*.ape dir %1\*.ape /b /on > %1\Playlist.m3u if exist %1\*.flac dir %1\*.flac /b /on > %1\Playlist.m3u |
1 2 | dir *.mp3 *.ogg *.wav *.wma /a:-d /b /s > playlist.m3u |
1 2 | dir *.mp3 *.ogg *.wav *.wma /a:-d /b > playlist.m3u |
Geen ervaring hier met Vista, maar dat SendTo mapje is nou juist zo handig. Ik heb daar allerlei shortcuts instaan zodat ik via het contextmenu bijv. makkelijk bestanden kan openen in een andere applicatie dan die aan de betreffende extensie is gekoppeld. Simpel voorbeeld: .ISO bestand (bij mij gekoppeld aan UltraISO) direct openen in Nero, of een mediabestand direct openen in Mediaplayer Classic terwijl de betreffende bestandsextensie gekoppeld is aan de Windows Media Player. Of een geluidsbestand direct openen in een audio editor i.p.v. in een speler, teveel om op te noemen.quote:Op dinsdag 15 januari 2008 22:47 schreef RacerDKB het volgende:
Bedankt
Heb die van jullie 2 gecombineerd tot deze:
[ code verwijderd ]
Dat van dat Send To was niet per se nodigEn kon het ook niet vinden onder Vista
Dat zijn command line parameters voor het DIR commando. Als je in een command line venster de opdracht DIR /? geeft krijg je uitleg over de betekenis van al die parameters.quote:Wat doet dat /a:-d en /b en /s?
Toen ik die /b weghaalde kwam er allerlei systeeminfo bij in ieder geval.
Met /a:-d /b dan krijg ik juiste, werkende m3u's.
Thanks!
Ik heb gewoon dat .bat bestandje, op me mp3 speler gezet in de hoofdmap. Ik zet er een nieuwe map met muziek op, plak even dat batch bestandje in die nieuwe map, draai hem, en zet die batch weer terugquote:Op dinsdag 15 januari 2008 23:07 schreef Riparius het volgende:
[..]
Geen ervaring hier met Vista, maar dat SendTo mapje is nou juist zo handig. Ik heb daar allerlei shortcuts instaan zodat ik via het contextmenu bijv. makkelijk bestanden kan openen in een andere applicatie dan die aan de betreffende extensie is gekoppeld. Simpel voorbeeld: .ISO bestand (bij mij gekoppeld aan UltraISO) direct openen in Nero, of een mediabestand direct openen in Mediaplayer Classic terwijl de betreffende bestandsextensie gekoppeld is aan de Windows Media Player. Of een geluidsbestand direct openen in een audio editor i.p.v. in een speler, teveel om op te noemen.
[..]
Dat zijn command line parameters voor het DIR commando. Als je in een command line venster de opdracht DIR /? geeft krijg je uitleg over de betekenis van al die parameters.
Maar vertel eens: kun je nu gewoon met de rechtermuisknop op een mapje klikken en direct een M3U bestand aanmaken in het betreffende mapje zoals je wilde? Bij mij werkt dat zo, maar als je die optie niet in je contextmenu hebt wordt het toch een stuk minder handig ...
Er bestaat wel degelijk een SendTo map in Vista, hier vind je uitgelegd hoe je daar shortcuts in kunt plaatsen.
Tja, dan doe je toch weer veel te veel werk want dan heb je dus al 40 keer dat batch bestand heen en weer moeten verplaatsen ...quote:Op woensdag 16 januari 2008 13:25 schreef RacerDKB het volgende:
[..]
Ik heb gewoon dat .bat bestandje, op me mp3 speler gezet in de hoofdmap. Ik zet er een nieuwe map met muziek op, plak even dat batch bestandje in die nieuwe map, draai hem, en zet die batch weer terug
Voor die ene keer per week dat ik iets verander op me mp3 speler is dit prima hoor.
Dat is niet zomaar te realiseren in een batchfile, daarvoor zul je een beetje echt moeten programmeren. Het probleem is dat %1 het volledige pad naar de betreffende subdirectory bevat, dus je zou een routine moeten maken om de naam van de subdirectory hier uit te vissen.quote:Op maandag 28 januari 2008 23:15 schreef RacerDKB het volgende:
Maar de playlist moet anders heten. Hij moet de naam van de map krijgen.
Hoe moet dat?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | for /f "delims=\ tokens=1,*" %%a in ('cd') do set directory=%%b for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) for /f "delims=\ tokens=1,*" %%a in ("%directory%") do (@set res=%%a & set res2=%%b) if NOT %res%==%res2% (set directory=%res2%) else (goto e) :e echo %directory% |
Mmm... Dit biedt perspectieven. Ik heb mijn batchfile make_m3u.bat uit de bovenstaande post nu als volgt aangepast:quote:Op donderdag 31 januari 2008 02:21 schreef Thomass het volgende:
Ik heb even uit pure verveling wat in elkaar geflants (moet eigenlijk leren :') )
hier is het beest...
[ code verwijderd ]
:D
Het geeft ongeveer 10.000 foutmeldingen en als als je een diepere nesting hebt dan het aantal for/f dingen dan geeft ie ook een gaar result, sowieso is het hele ding gaar. Ik ben er maar mee gestopt uit pure frustratie :D, misschien kan iemand anders het afmaken... :P
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | for /F " delims=\ tokens=1,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=2,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=3,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=4,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=5,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=6,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=7,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=8,*" %%d in (%1) do set curdir=%%d for /F " delims=\ tokens=9,*" %%d in (%1) do set curdir=%%d if exist %1\*.mp3 dir %1\*.mp3 /b /on > %1\"%curdir%.m3u" if exist %1\*.ape dir %1\*.ape /b /on > %1\"%curdir%.m3u" if exist %1\*.flac dir %1\*.flac /b /on > %1\"%curdir%.m3u" |
quote:Maar, als ik in Winamp ze eerst laad, dan de playlist opsla, en die in dezelfde map zte als het album, komen ze op mijn msn speler netjes gerangschikt bij Playlists staan.
Werken met nested FOR loops in batchfiles gaat dacht ik niet tenzij je via CALL weer een ander batchfile of een stukje code in hetzelfde batchfile via een label aanroept, maar dat lijkt me sowieso niet zo'n goed idee hier. Voor mij was het ook weer een tijdje geleden dat ik lekker oldschool met batchfiles bezig ben geweest, maar ik weet nu weer waarom ik dat zo leuk vond :) .quote:Op donderdag 31 januari 2008 09:41 schreef Thomass het volgende:
Mja ik was bezig het geheel weer in een andere for loop te plaatsen, en dan 100 nestings diep ofzo & met een conditional eruit springen. Alleen het is al een hele tijd geleden dat ik "echt" iets met batch heb gemaakt en ik weet nu ook weer waarom dat was ;(
1 2 3 4 5 6 7 8 9 10 11 | set count=0 :loop set olddir=%curdir% set /a count+=1 for /f "delims=\ tokens=%count%" %%d in (%1) do set curdir=%%d if not "%curdir%"=="%olddir%" goto loop if exist %1\*.mp3 dir %1\*.mp3 /b /on > %1\"%curdir%.m3u" if exist %1\*.ape dir %1\*.ape /b /on > %1\"%curdir%.m3u" if exist %1\*.flac dir %1\*.flac /b /on > %1\"%curdir%.m3u" |
:Dquote:Op donderdag 31 januari 2008 16:33 schreef Riparius het volgende:
[..]
Werken met nested FOR loops in batchfiles gaat dacht ik niet tenzij je via CALL weer een ander batchfile of een stukje code in hetzelfde batchfile via een label aanroept, maar dat lijkt me sowieso niet zo'n goed idee hier. Voor mij was het ook weer een tijdje geleden dat ik lekker oldschool met batchfiles bezig ben geweest, maar ik weet nu weer waarom ik dat zo leuk vond :) .
Ik heb nu een elegante oplossing gevonden. Mijn make_m3u.bat file ziet er nu als volgt uit:
[ code verwijderd ]
Niet slecht toch?
1 |
Vind ik wel meevallen. Je moet het gewoon als een uitdaging zien, iets voor elkaar krijgen waarvan je eerder dacht dat het niet zou kunnen (zonder andere hulpmiddelen dan alleen een batch file). Zie je nu ook hoe ik het heb gedaan?quote:Op donderdag 31 januari 2008 20:36 schreef Thomass het volgende:
[..]
![]()
Het is alleen een gepiel van jewelste om zoiets goed te krijgen in een batch file ^^,
Heel eenvoudig, ik wil hier een IF EXIST constructie gebruiken omdat die verhindert dat je bogus playlists (van 0 bytes) aanmaakt als je Send To --> Make Playlist uit het contextmenu gebruikt bij een map waar helemaal geen audiobestanden in staan. En met deze constructie kan ik niet meerdere extensies tegelijk gebruiken.quote:overigens waarom doe je die dir opsomming niet gewoon in 1 regeltje:
[ code verwijderd ]
Ja, maar je was er toch zelf ook aan begonnen om het met een batchfile voor elkaar te krijgen? Heeft in ieder geval het voordeel dat iedereen die dit topic leest het ook meteen kan gebruiken.quote:Op donderdag 31 januari 2008 21:41 schreef Thomass het volgende:
Jawel hoor, maar ik zou een playlist maker voor mijn lol tegenwoordig niet meer in een batch file schrijven, ik flans gewoon wat in elkaar in c, net zo makkelijk
1 2 3 4 5 | chcp 1252 > nul pushd %1 if exist "%~n1.m3u" del "%~n1.m3u" for %%f in (*.mp3 *.ape *.flac) do echo %%~nxf>>"%~n1.m3u" |
Het antwoord op uw vraag is bevestigendquote:Op donderdag 3 april 2008 09:22 schreef mschol het volgende:
leuk scriptje echter vraag ik mij af of er niet een C++.net of VB.net applicatie voor bestaat?
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |