PDA

Visualizza la versione completa : File Batch per gestire file txt


silgmaris
02-03-2010, 16:41
Ciao a tutti,
vi spiego il mio problema...
1) sono ignorante.
2) devo fare un lavoraccio.

Ma veniamo al senso pratico.

Ho una serie di file txt che contengono una serie di stringhe di svariate tipologie.
Ci che mi serve :

1) scrivere all'interno di ogni file, all'inizio di ogni riga il nome del file stesso.
2) copiare il contenuto di tutti i file (sono una decina) in uno unico (e qui lo so fare).
3) sortare il contenuto del file creato (e questo lo so fare)
4) cancellare alcune righe inutili in base al primo carattere della riga.

Quindi il mio problema sono i punti 1) e 4).

Come faccio???

Io uso banalmente i comandi dos eseguiti con file batch.

Grazie!!

P.S. Sono disperato!

Grazie ancora!

oregon
02-03-2010, 19:35
Sarebbe meglio utilizzare un linguaggio di programmazione (al limite, un linguaggio di scripting, vbscript o simili) ...

silgmaris
03-03-2010, 08:58
Eh... il fatto che non ne conosco... ho provato a guardare il vbscript e ci capisco qualcosa ma non abbastanza da mettermi all'opera. Con un'amico che mi aiuta sto provando con il REXX ma anche l, non mica facile.

Intanto grazie ancora...

oregon
03-03-2010, 10:08
Originariamente inviato da silgmaris
... non mica facile.



Non ho detto che lo sia, ovviamente si deve conoscere ...

Il fatto che, questo tipo di problemi, vanno affrontati con un linguaggio di programmazione serio che ti semplifica la vita rispetto all'elaborazione batch ...

silgmaris
03-03-2010, 17:17
Lo so. Ti ringrazio ed ora mi sto appassionando al REXX... ma ovviamente ho dei problemi.

Ora la situazione molto pi avanzata.
Ho fatto tutto quello che mi sono prefissato precedentemente.

Da un file di testo molto pi gestibile ora con il REXX voglio inserire tutti i dati in un foglio excel.

La cosa bella che se prendo in input il file che mi serve (poco pi di 1000 righe) mi va in loop e quando finisce di scrivere le mille righe mi ricomincia daccapo.
Se con lo stesso identico script prendo in input un file con una decina di righe questo si ferma correttamente dopo l'ultima.

Avete idee su dove sbaglio?

Questo lo script:



/* PORTO I DATI SU EXCEL */
column = 1 ; b = 1
inputobject=.stream~new('D:\TOTALE.rep')
/* inputobject=.stream~new('D:\piccolo.rep') */
xlobj = .OleObject~New('Excel.Application')
xlobj~Visible = .true
xlobj~Application~SheetsInNewWorkBook = 1
xlobj~WorkBooks~Add
s = 0 /* contatore per le righe */
do while inputobject~lines<>0 /* Loop as long as there are lines */
s = s + 1 /* incremento il contatore */
CALL rxqueue 'create', cris /* creo la coda */
CALL rxqueue 'set' , cris /* setto la coda */
mychord=inputobject~linein /* leggo la riga */
parse value mychord with uno ';' due ';' tre ';' qua ';' cin ';' sei ';' set ';' ott ';' nov ';' die ';' und
mychord = uno
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = due
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = tre
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = qua
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = cin
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = sei
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = set
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = ott
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = nov
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = die
xlobj~Cells(b,column)~Value = mychord ; column = column + 1
mychord = und
xlobj~Cells(b,column)~Value = mychord ; column = 1 ; b = b + 1
; end


Sempre grazie!

silgmaris
03-03-2010, 17:55
SCUSATEMI.

RISOLTO. ERRORE MIO.

THREAD CHIUDIBILE.

Loading