rellenar array a través de un fichero y usarlo después
Publicado por Lupa (2 intervenciones) el 17/03/2020 02:12:44
Buenas noches,
estoy intentando obtener cada línea de un fichero .txt y meter cada una de esas líneas en un array para luego poder usarlas. El problema que tengo es que sólo sé definir el array dentro del for, pero después no puedo acceder a él.
El fichero que leo, en cada línea aparece el tiempo de inicio de una canción, hay 14 canciones distintas, por tanto, os dejo lo que contiene para que lo veáis mejor:
// FICHERO songs.txt
00:00 Horizon - Hotel Pools
02:38 Coral Blush - Hello Meteor
08:02 another 80’s synthwave song - rayklin
12:33 SOMEBODY - 80AM
15:51 Flights of Fancy - FRACTAL MAN
19:54 Submerse - Safehouse
22:27 S a l v i a B l i s s - M Y D R E A M Y A D V E N T U R E
24:24 Surface Waves - Hello Meteor
29:58 Think of the Future - VentureX
34:10 Nothing Lasts Forever - bl00dwave
37:34 Beyond - Voyage
43:44 View Existent - Poetically
47:50 Imagine - Departure
51:20 Lost in a Sea of Stars - FRACTAL MAN
// FIN FICHERO songs.txt
----------
El bucle for me pinta perfectamente sólo los número, es decir:
00:00
02:38
08:02
12:33
15:51
19:54
22:27
24:24
29:58
34:10
37:34
43:44
47:50
51:20
Pero quiero almacenar todos esos valores en un array, así pues mi array elem[4] tendrá que dar el resultado 15:51
El problema es que creo que al hacer set del array dentro del for, una vez fuera del bucle ya no puedo acceder al array, y me gustaría hacerlo.
Os dejo el código a continuación.
// FIN DEL CÓDIGO
Al final, el último echo, sólo imprime la palabra "ejemplo:" sin el valor de la posición 4 del array.
Gracias!
estoy intentando obtener cada línea de un fichero .txt y meter cada una de esas líneas en un array para luego poder usarlas. El problema que tengo es que sólo sé definir el array dentro del for, pero después no puedo acceder a él.
El fichero que leo, en cada línea aparece el tiempo de inicio de una canción, hay 14 canciones distintas, por tanto, os dejo lo que contiene para que lo veáis mejor:
// FICHERO songs.txt
00:00 Horizon - Hotel Pools
02:38 Coral Blush - Hello Meteor
08:02 another 80’s synthwave song - rayklin
12:33 SOMEBODY - 80AM
15:51 Flights of Fancy - FRACTAL MAN
19:54 Submerse - Safehouse
22:27 S a l v i a B l i s s - M Y D R E A M Y A D V E N T U R E
24:24 Surface Waves - Hello Meteor
29:58 Think of the Future - VentureX
34:10 Nothing Lasts Forever - bl00dwave
37:34 Beyond - Voyage
43:44 View Existent - Poetically
47:50 Imagine - Departure
51:20 Lost in a Sea of Stars - FRACTAL MAN
// FIN FICHERO songs.txt
----------
El bucle for me pinta perfectamente sólo los número, es decir:
00:00
02:38
08:02
12:33
15:51
19:54
22:27
24:24
29:58
34:10
37:34
43:44
47:50
51:20
Pero quiero almacenar todos esos valores en un array, así pues mi array elem[4] tendrá que dar el resultado 15:51
El problema es que creo que al hacer set del array dentro del for, una vez fuera del bucle ya no puedo acceder al array, y me gustaría hacerlo.
Os dejo el código a continuación.
1
2
3
4
5
6
7
8
9
10
setlocal EnableDelayedExpansion
for /F %%a in (songs.txt) do (
set elem[!num!]=%%a
echo !elem[%num%]!
)
echo ejemplo: !elem[4]!
endlocal
// FIN DEL CÓDIGO
Al final, el último echo, sólo imprime la palabra "ejemplo:" sin el valor de la posición 4 del array.
Gracias!
Valora esta pregunta


0