2017-05-09 5 views
-5

je voudrais analyser Artiste et titre de chanson de playlist m3u avec commande batchm3u analyse syntaxique avec le script batch

#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) 

de sorte que la sortie fichier txt ressemblera à ceci

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) 

Toute aide sera utile, grâce

Il peut être shell de puissance trop ou autre chose, mais avec une meilleure description que je suis DJ ...: P

+1

Qu'avez-vous essayé jusque là? StackOverflow n'est pas un service d'écriture de code. – gvee

+0

simple doublure. Voir 'pour /?'. Vous avez besoin de bons jetons ('2') et de délimiteurs (', ') – Stephan

Répondre

0
  • Donc, vous ne voulez que les informations sur les lignes commençant par #EXTINF en suivant la virgule.
  • vous trouverez des centaines d'exemples sur [SO] travailler avec findstr pour sélectionner les lignes avec un motif (voir findstr /?)
  • et aussi avec for /f pour analyser le contenu d'une ligne avec délimiteurs et jetons (voir for /?)

Dans un lot:

@Echo off 
(For %%M in (*.m3u 
) Do For /f "tokens=1* delims=," "%%A" in (
    'findstr "^#EXTINF" %%M' 
) Do Echo %%B 
) > Playlists.txt 

Sur la ligne cmd:

@For /f "tokens=1* delims=," %A in ('findstr "^#EXTINF" playlist.m3u') Do @Echo %B 

Pour rediriger vers un fichier enferment la pour la commande entre parenthèses et append >playlist.txt

+0

merci de travailler – Hotshot

+0

de toute façon pour ajouter plus de playlist en même temps? – Hotshot

+0

Ceci est une tâche de base très simple :-(Vous devriez mettre plus d'effort dans votre tâche ** ** Une simple boucle 'for' peut itérer avec un caractère générique Je vais étendre l'exemple de lot ci-dessus pour l'instant mais l'extension d'une question est un nogo dans [SO] Notez les votes vers le bas et les demandes de fermeture sur votre question Prendre la [Tour] et apprendre [Demander] – LotPings

0

Quelqu'un voulait enlever l'étiquette PowerShell, alors voici une doublure:

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

J'aime la façon dont vous avez dit "Quelqu'un voulait enlever le tag PowerShell" :) – SteveFest