2017-05-09 56 views
-5

我想從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

+1

你嘗試過什麼至今? StackOverflow不是一個代碼寫入服務。 – gvee

+0

簡單單線。見'for /?'。你需要適當的令牌('2')和分隔符(',') – Stephan

回答

0
  • 所以,你只需要在逗號後面以 #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

+0

感謝其工作 – Hotshot

+0

任何方式來同時添加更多的播放列表? – Hotshot

+0

這是一個非常基本的批處理工具:-(你應該在**你的**任務中付出更多的努力,一個簡單的'for'循環可以迭代一個通配符,現在我將擴展上面的批處理樣例,但是擴展一個問題是[SO]中的一個nogo,注意你的問題中的反對票和關閉請求,以[Tour]和學習[Ask] – LotPings

0

有人想刪除PowerShell的標籤,所以這裏是一個班輪:

(Select-String *.m3u -Pattern '^#EXTINF') -Replace '^[^,]+,'|Out-File PlayList.txt 
+0

我喜歡你說的方式「有人想刪除PowerShell標籤」:) – SteveFest