alenglaro
14-09-2010, 12:41
Ciao a tutti,
ho bisogno di uno script bat per processare migliaia di file txt.
Tutti i file sono nominati "Posizioni_Numero_Numero.txt", ad esempio Posizioni_2160_008.txt dove entrambi i numeri vanno di 4 in 4 (cioè non c'è un file Posizioni_2161_009.txt). Inoltre per ogni numero al primo posto i numeri al secondo posto vanno da 000 a 356, ad esempio:
Posizioni_2160_000.txt
Posizioni_2160_004.txt
Posizioni_2160_008.txt
...
Posizioni_2160_356.txt
Posizioni_2164_000.txt
Posizioni_2164_004.txt
ecc
Ciascuno di questi file è strutturato in questa maniera:
"Testo1 Testo2 Testo3 Testo4 Testo5 Numero1 Numero2 Numero3 Numero4 Numero5", tutti su una riga e separati da più spazi.
Lo script a questo punto, ricevendo in input il range riferito al primo numero nel nome del file (ad es 2160 2200), estrae da ciascun file (tramite magari due cicli for che vengono incrementati di 4) il cui primo numero è contenuto in questo range soltanto gli ultimi 4 numeri all'interno del file, quindi tralasciando il testo e il primo numero, e li salva in maniera sequenziale in un nuovo file txt chiamandolo ad esempio 2160, cioè il primo numero presente nel nome del file che sta processando.
Riassumendo, se io in input do il range 2160 2168, in output voglio che vengano creati 3 file chiamati 2160.txt, 2164.txt, 2168.txt. Aprendo il file 2160.txt all'interno devono esserci delle righe di 4 numeri, presi dai file
Posizioni_2160_000.txt
Posizioni_2160_004.txt
...
Posizioni_2160_356.txt
Ultima cosa ma importantissima, se non esiste un file con un certo numero al secondo posto (ad esempio non c'è Posizioni_2160_012.txt) al posto dei 4 numeri che dovrebbero esserci nel file 2160.txt, dopo i numeri corrispondenti al file Posizioni_2160_008.txt, devono essere inseriti 4 "NaN".
Spero di essere stato chiaro, è un pò difficile spiegarlo a parole:)
Grazie!
ho bisogno di uno script bat per processare migliaia di file txt.
Tutti i file sono nominati "Posizioni_Numero_Numero.txt", ad esempio Posizioni_2160_008.txt dove entrambi i numeri vanno di 4 in 4 (cioè non c'è un file Posizioni_2161_009.txt). Inoltre per ogni numero al primo posto i numeri al secondo posto vanno da 000 a 356, ad esempio:
Posizioni_2160_000.txt
Posizioni_2160_004.txt
Posizioni_2160_008.txt
...
Posizioni_2160_356.txt
Posizioni_2164_000.txt
Posizioni_2164_004.txt
ecc
Ciascuno di questi file è strutturato in questa maniera:
"Testo1 Testo2 Testo3 Testo4 Testo5 Numero1 Numero2 Numero3 Numero4 Numero5", tutti su una riga e separati da più spazi.
Lo script a questo punto, ricevendo in input il range riferito al primo numero nel nome del file (ad es 2160 2200), estrae da ciascun file (tramite magari due cicli for che vengono incrementati di 4) il cui primo numero è contenuto in questo range soltanto gli ultimi 4 numeri all'interno del file, quindi tralasciando il testo e il primo numero, e li salva in maniera sequenziale in un nuovo file txt chiamandolo ad esempio 2160, cioè il primo numero presente nel nome del file che sta processando.
Riassumendo, se io in input do il range 2160 2168, in output voglio che vengano creati 3 file chiamati 2160.txt, 2164.txt, 2168.txt. Aprendo il file 2160.txt all'interno devono esserci delle righe di 4 numeri, presi dai file
Posizioni_2160_000.txt
Posizioni_2160_004.txt
...
Posizioni_2160_356.txt
Ultima cosa ma importantissima, se non esiste un file con un certo numero al secondo posto (ad esempio non c'è Posizioni_2160_012.txt) al posto dei 4 numeri che dovrebbero esserci nel file 2160.txt, dopo i numeri corrispondenti al file Posizioni_2160_008.txt, devono essere inseriti 4 "NaN".
Spero di essere stato chiaro, è un pò difficile spiegarlo a parole:)
Grazie!