批量处理多个m3u文件

阿尔瓦雷斯

我正在使用此批处理文件创建.m3u播放列表,但它在单个播放列表中创建

@echo on
color 0e
echo PLEASE WAIT, BUILDING PLAYLIST FILE, EXCLUDING BAT, TXT, M3U, SRT and JPG FILES
if exist "playlist.m3u" del "playlist.m3u"
Setlocal EnableDelayedExpansion
set "_t0=1"
if "%CD%"=="%CD:~0,3%" set "_t0=0"
for /F "tokens=*" %%A In ('dir %* /a-d /b /on /s ^| %SystemRoot%\System32\findstr.exe /V /I /E /L ".bat .m3u .txt .db .srt .jpg" ^| %SystemRoot%\System32\sort.exe') do (
    set "_t1=%%A"
    set "_t2=!_t1:%CD%=!"
    echo !_t2:~%_t0%!>>playlist.m3u
)
endlocal

这个批处理文件到了Windows批处理文件和“&”

带有文件的文件夹结构,例如:

20000 Lieus sous les Mers (1988)(Coktel Vision)
      20000 Lieus sous les Mers (1988)(Coktel Vision)(fr)(Disk 1 of 2)[CPM Version].dsk
      20000 Lieus sous les Mers (1988)(Coktel Vision)(fr)(Disk 2 of 2)[CPM Version].dsk
Zombi (1990)(Ubisoft)
      Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk
      Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk

...等等

脚本输出示例(playlist.m3u):

20000 Lieus sous les Mers (1988)(Coktel Vision)\20000 Lieus sous les Mers (1988)(Coktel Vision)(fr)(Disk 1 of 2)[CPM Version].dsk
20000 Lieus sous les Mers (1988)(Coktel Vision)\20000 Lieus sous les Mers (1988)(Coktel Vision)(fr)(Disk 2 of 2)[CPM Version].dsk
Zombi (1990)(Ubisoft)\Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk
Zombi (1990)(Ubisoft)\Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk

等等...

我想调整批处理,以便根据文件夹名称(播放列表示例)创建多个m3u:

资料夹:

20000 Lieus sous les Mers (1988)(Coktel Vision)
Zombi (1990)(Ubisoft)

等...

批处理文件将创建m3u播放列表

20000海底联盟(1988)(Coktel Vision).m3u

/20000 Lieus sous les Mers (1988)(Coktel Vision)/20000 Lieus sous les Mers (1988)(Coktel Vision)(fr)(Disk 1 of 2)[CPM Version].dsk
/20000 Lieus sous les Mers (1988)(Coktel Vision)/20000 Lieus sous les Mers (1988)(Coktel Vision)(fr)(Disk 2 of 2)[CPM Version].dsk

僵尸(1990)(Ubisoft).m3u

/Zombi (1990)(Ubisoft)/Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk
/Zombi (1990)(Ubisoft)/Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk

你能帮助我吗?

迈克尔·希思
@echo off

for /d %%A in (*) do @if exist "%%~A\*.dsk" (
    for %%B in ("%%~A\*.dsk") do @echo \%%~A\%%~nxB
) > "%%~fA\%%~nxA.m3u"

该脚本被设置为在子文件夹所在的当前工作目录中运行。

for /d将获得子文件夹。if exist确保*.dsk文件编写m3u格式文件之前存在。for迭代.dsk文件,并回显.m3u文件的路径。

for /?关于修饰符使用的视图fnx%%~fA完整路径,%%~nxA是名称和扩展名。

原始代码看起来不适合该任务,因此代码重写(而不是代码改编)进行了重写。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章