Toon posts:

[2k/XP] 'for' loop in batch file verfijnen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een batch die een album.m3u genereert in folders met mp3 bestanden.
code:
1
2
3
4
5
6
7
for /R %%I IN (*.mp3) do (
   if not exist "%%~dpI/album.m3u" (
      for /R %%I IN (*.mp3) do (
         >> "%%~dpI/album.m3u" ECHO %%~nI.mp3
      )
   )
)
Als ik deze batch binnen één folder laat draaien, werkt het perfect.

Maar als er meer folders doorlopen worden, EN er bestaat in één folder geen album.m3u, dan worden bij alle andere album.m3u de bestanden dubbel toegevoegd!

Nu zou ik eerst alle album.m3u kunnen verwijderen, maar dat is nogal stom als er voor 1 bestandje eerst honderen verwijdert en opnieuw aangemaakt moeten worden.

De FOR loop staat geen uitgebreide verfijning van de file-set toe, een path (%%~dpI/*.mp3) wil niet.
Misschien zie ik iets over het hoofd? Of kan een FOR loop niet in een FOR loop genest worden? Ik kom er niet meer uit!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

[NT cmdline] mp3 playlist batch > [NT] 'for' loop in batch file verfijnen *

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

ik denk dat je de tweede for /r moet veranderen naar for /f.

nu loop je alle dirs door op mp3's en zodra je geen .m3u file hebt ga je dat nog een keer doen voor alle dirs...

Verwijderd

Topicstarter
Ik ben er uit. Nadat ik heb zitten klooien met FOR /F en geneste FOR loop.
Ontdek ik dat het nesten eigenlijk moet d.m.v. FOR DO COMMAND C/ FOR en niet op mijn methode.

De 2e FOR loop wil niet binnen de folder draaien tenzij ik van folder wissel. De oplossing is dus erg simpel dus met CD.
code:
1
2
3
4
5
6
7
8
FOR /R %%I IN (*.mp3) DO (
   IF not exist "%%~dpIalbum.m3u" (
      CD %%~pI
      FOR /R %%I IN (*.mp3) DO (
         >> "%%~dpIalbum.m3u" ECHO %%~nI%%~xI
      )
   )
)

offtopic:
PS Spider.007 Ik bedoel eigenlijk [NT4/5/5.1] en niet [NT] Typ maar es ECHO %OS% in je XP bak!

Verwijderd

Is het op de een of andere manier ook mogelijk om alles in één .m3u te gooien?
Dus zowel alles in de "root" als in andere mappen in één afspeelbestand?

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

dir /b /s *.mp3>volledigelijst.m3u

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

|:(

Idd, doh. Kon toch niet veel makkelijker worden!
Thanks!
Pagina: 1