M3U与批处理脚本解析
问题描述:
我想从m3u播放歌曲解析的艺术家和标题使用批处理命令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)
任何帮助将是有益的,感谢
它可以是电源外壳太或任何其他但有更好的描述我DJ ...:P
答
- 所以,你只需要在逗号后面以
#EXTINF
开头的行上的信息。 - 你会发现在[SO]与
findstr
正与模式选择线(见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
在CMD线:
@For /f "tokens=1* delims=," %A in ('findstr "^#EXTINF" playlist.m3u') Do @Echo %B
重定向到一个文件中附上了命令在括号中追加>playlist.txt
答
有人想删除PowerShell的标签,所以这里是一个班轮:
(Select-String *.m3u -Pattern '^#EXTINF') -Replace '^[^,]+,'|Out-File PlayList.txt
+0
我喜欢你说的方式“有人想删除PowerShell标签”:) – SteveFest
你尝试过什么至今? StackOverflow不是一个代码写入服务。 – gvee
简单单线。见'for /?'。你需要适当的令牌('2')和分隔符(',') – Stephan