Completar un fichero cmd de creación de archivos

Con este fichero cmd:

set musiclist=E:\arcade\attract\romlists
set output=E:\arcade\sistemas\pinballs\jukebox\roms
:: borrar listas antiguas
del "%musiclist%\Jukebox.txt" /Q
del "%musiclist%\Jukebox_tmp.txt" /Q
>NUL chcp 65001
:: crear Jukebox_tmp.txt
for %%i in ("%output%\*.m3u") do @echo %%~ni >> "%musiclist%\Jukebox_tmp.txt"
:: crear Jukebox.txt
cd %musiclist%
for /f "tokens=1,2,3 delims=-" %%a in (Jukebox_tmp.txt) do @echo %%a;x;Jukebox;;%%c;%%b;;;;;;;;;;;>> "%musiclist%\Jukebox.txt"

Creo dos archivos, el Jukebox_tmp.txt:

Alaska-The Platinum Collection-2007 
Amaral-Pajaros En La Cabeza-2005 
Avicii-True-2014 
Dami Im-Dami Im-2013 
Dami Im-Heart Beats-2014 
Elefantes-Gracias-2006 
Francis Cabrel-Algo Mas De Amor-2005 
Jean Michel Jarre-Magnetic Fields (Remastered 2014)-1981 
Jean Michel Jarre-Magnetic Fields-1981 
Jean Michel Jarre-Oxygene (New Master Recording)-2007 
Jean Michel Jarre-Oxygene (Remastered 2014)-1976 
Jean Michel Jarre-Oxygene 7~13-1997 
Jean Michel Jarre-Oxygene-1976 
Joan Manuel Serrat-Dedicado A Antonio Machado Poeta-1969 
Joan Manuel Serrat-La Paloma-1969 
Joan Manuel Serrat-Mediterraneo-1971 
Joan Manuel Serrat-Mi Ninez-1970 
Joan Manuel Serrat-Miguel Hernandez-1972 
Joan Manuel Serrat-Serrat 4-1970 
Julio Iglesias-Begin The Beguine-1981 
Julio Iglesias-Soy-1973 
Kelly Clarkson-Piece By Piece (Deluxe Version)-2015 
Miguel Rios-Los Viejos Rockeros Nunca Mueren-1979 
Miguel Rios-Memorias De Un Ser Humano-1974 
Miguel Rios-Rocanrol Bumerang-1980 
Miguel Rios-Unidos-1971 
Mr Siro-Nuoc Mat Va Em-2014 
Of Monsters And Men-Beneath The Skin-2015 
Raign-Knocking On Heavens Door-2015 
The Alan Parsons Project-Gold Collection 1978~1985-1998 
The Alan Parsons Project-The Best Of The Alan Parsons Project-1983 
Tom Odell-Long Way Down-2013 

Del que saco el contenido del fichero Jukebox.txt:

Alaska;x;Jukebox;;2007 ;The Platinum Collection;;;;;;;;;;;
Amaral;x;Jukebox;;2005 ;Pajaros En La Cabeza;;;;;;;;;;;
Avicii;x;Jukebox;;2014 ;True;;;;;;;;;;;
Dami Im;x;Jukebox;;2013 ;Dami Im;;;;;;;;;;;
Dami Im;x;Jukebox;;2014 ;Heart Beats;;;;;;;;;;;
Elefantes;x;Jukebox;;2006 ;Gracias;;;;;;;;;;;
Francis Cabrel;x;Jukebox;;2005 ;Algo Mas De Amor;;;;;;;;;;;
Jean Michel Jarre;x;Jukebox;;1981 ;Magnetic Fields (Remastered 2014);;;;;;;;;;;
Jean Michel Jarre;x;Jukebox;;1981 ;Magnetic Fields;;;;;;;;;;;
Jean Michel Jarre;x;Jukebox;;2007 ;Oxygene (New Master Recording);;;;;;;;;;;
Jean Michel Jarre;x;Jukebox;;1976 ;Oxygene (Remastered 2014);;;;;;;;;;;
Jean Michel Jarre;x;Jukebox;;1997 ;Oxygene 7~13;;;;;;;;;;;
Jean Michel Jarre;x;Jukebox;;1976 ;Oxygene;;;;;;;;;;;
Joan Manuel Serrat;x;Jukebox;;1969 ;Dedicado A Antonio Machado Poeta;;;;;;;;;;;
Joan Manuel Serrat;x;Jukebox;;1969 ;La Paloma;;;;;;;;;;;
Joan Manuel Serrat;x;Jukebox;;1971 ;Mediterraneo;;;;;;;;;;;
Joan Manuel Serrat;x;Jukebox;;1970 ;Mi Ninez;;;;;;;;;;;
Joan Manuel Serrat;x;Jukebox;;1972 ;Miguel Hernandez;;;;;;;;;;;
Joan Manuel Serrat;x;Jukebox;;1970 ;Serrat 4;;;;;;;;;;;
Julio Iglesias;x;Jukebox;;1981 ;Begin The Beguine;;;;;;;;;;;
Julio Iglesias;x;Jukebox;;1973 ;Soy;;;;;;;;;;;
Kelly Clarkson;x;Jukebox;;2015 ;Piece By Piece (Deluxe Version);;;;;;;;;;;
Miguel Rios;x;Jukebox;;1979 ;Los Viejos Rockeros Nunca Mueren;;;;;;;;;;;
Miguel Rios;x;Jukebox;;1974 ;Memorias De Un Ser Humano;;;;;;;;;;;
Miguel Rios;x;Jukebox;;1980 ;Rocanrol Bumerang;;;;;;;;;;;
Miguel Rios;x;Jukebox;;1971 ;Unidos;;;;;;;;;;;
Mr Siro;x;Jukebox;;2014 ;Nuoc Mat Va Em;;;;;;;;;;;
Of Monsters And Men;x;Jukebox;;2015 ;Beneath The Skin;;;;;;;;;;;
Raign;x;Jukebox;;2015 ;Knocking On Heavens Door;;;;;;;;;;;
The Alan Parsons Project;x;Jukebox;;1998 ;Gold Collection 1978~1985;;;;;;;;;;;
The Alan Parsons Project;x;Jukebox;;1983 ;The Best Of The Alan Parsons Project;;;;;;;;;;;
Tom Odell;x;Jukebox;;2013 ;Long Way Down;;;;;;;;;;;

Bien, pues necesito modificar el archivo cdm (supongo que en el último for), para que donde aparece la x, aparezca la línea completa correspondiente del archivo Jukebox_tmp.txt

O sea que necesito que quede así:

Alaska;Alaska-The Platinum Collection-2007;Jukebox;;2007 ;The Platinum Collection;;;;;;;;;;;
Amaral;Amaral-Pajaros En La Cabeza-2005;Jukebox;;2005 ;Pajaros En La Cabeza;;;;;;;;;;;
Avicii;Avicii-True-2014;Jukebox;;2014;True;;;;;;;;;;;

Lo he intentado de varias maneras pero no lo he conseguido.

¿Alguna idea al respecto?

1 respuesta

Respuesta
1

Parece que debería bastar sustituir la x por %%a-%%b-%%c. Es decir que el último FOR quedaría:

for /f "tokens=1,2,3 delims=-" %%a in (Jukebox_tmp.txt) do @echo %%a;%%a-%%b-%%c;Jukebox;;%%c;%%b;;;;;;;;;;;>> "%musiclist%\Jukebox.txt"

Si no te funciona pon un ejemplo de lo que sale en un caso.

¡Gracias! 

Era obvio y no lo vi. Como diría mi padre, si es un perro, me muerde. No me sirve de excusa el no saber si las variables se podían repetir, debería haberlo probado. Muchísimas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas