m3u 用批处理脚本解析
m3u parsing with batch script
我想用批处理命令从 m3u 播放列表中解析艺术家和歌曲名称
#EXTM3U
#EXTINF:151,TJR - We Wanna Party Into We Want Some Pussy (BB Tribe EDIT)
\#Mixit\pjesme\TJR - We Wanna Party Into We Want Some Pussy (BeatBreaker Tribe EDIT).mp3
#EXTINF:202,Alan Walker - Alone (Prisoners Bootleg)
\Users\Asrock 880\Downloads\Alan Walker - Alone (Prisoners Bootleg).mp3
#EXTINF:236,Alan Walker - Alone 2k17 (#Ash Simons Bangerz) (Ft. Holl & Rush)
因此输出的 .txt 文件将如下所示
TJR - We Wanna Party Into We Want Some Pussy (BB Tribe EDIT)
Alan Walker - Alone (Prisoners Bootleg)
Alan Walker - Alone 2k17 (#Ash Simons Bangerz) (Ft. Holl & Rush)
任何帮助都会有用,谢谢
它也可以是力量 shell 或其他任何东西,但有更好的描述我是 DJ...:P
- 所以您只需要以以下开头的行中的信息
#EXTINF
跟在逗号之后。
- 您会在 [SO] 上找到数百个示例,这些示例使用
findstr
到 select 行的模式(参见 findstr /?)
- 以及
for /f
来解析带有分隔符和标记的行的内容(参见 for /?)
批次中:
@Echo off
(For %%M in (*.m3u
) Do For /f "tokens=1* delims=," "%%A" in (
'findstr "^#EXTINF" %%M'
) Do Echo %%B
) > Playlists.txt
在命令行上:
@For /f "tokens=1* delims=," %A in ('findstr "^#EXTINF" playlist.m3u') Do @Echo %B
要重定向到文件,请将 for 命令括在括号中并附加 >playlist.txt
有人想删除 PowerShell 标签,所以这里是一行:
(Select-String *.m3u -Pattern '^#EXTINF') -Replace '^[^,]+,'|Out-File PlayList.txt
我想用批处理命令从 m3u 播放列表中解析艺术家和歌曲名称
#EXTM3U
#EXTINF:151,TJR - We Wanna Party Into We Want Some Pussy (BB Tribe EDIT)
\#Mixit\pjesme\TJR - We Wanna Party Into We Want Some Pussy (BeatBreaker Tribe EDIT).mp3
#EXTINF:202,Alan Walker - Alone (Prisoners Bootleg)
\Users\Asrock 880\Downloads\Alan Walker - Alone (Prisoners Bootleg).mp3
#EXTINF:236,Alan Walker - Alone 2k17 (#Ash Simons Bangerz) (Ft. Holl & Rush)
因此输出的 .txt 文件将如下所示
TJR - We Wanna Party Into We Want Some Pussy (BB Tribe EDIT)
Alan Walker - Alone (Prisoners Bootleg)
Alan Walker - Alone 2k17 (#Ash Simons Bangerz) (Ft. Holl & Rush)
任何帮助都会有用,谢谢
它也可以是力量 shell 或其他任何东西,但有更好的描述我是 DJ...:P
- 所以您只需要以以下开头的行中的信息
#EXTINF
跟在逗号之后。 - 您会在 [SO] 上找到数百个示例,这些示例使用
findstr
到 select 行的模式(参见 findstr /?) - 以及
for /f
来解析带有分隔符和标记的行的内容(参见 for /?)
批次中:
@Echo off
(For %%M in (*.m3u
) Do For /f "tokens=1* delims=," "%%A" in (
'findstr "^#EXTINF" %%M'
) Do Echo %%B
) > Playlists.txt
在命令行上:
@For /f "tokens=1* delims=," %A in ('findstr "^#EXTINF" playlist.m3u') Do @Echo %B
要重定向到文件,请将 for 命令括在括号中并附加 >playlist.txt
有人想删除 PowerShell 标签,所以这里是一行:
(Select-String *.m3u -Pattern '^#EXTINF') -Replace '^[^,]+,'|Out-File PlayList.txt