$VER: documentazione di SPLIT 1.5 (G.Iacobelli - 05.MAG.97) +----------------------------------------------------------------+ | | | SPLIT 1.5 (c)Copyright Giovanni Iacobelli (05.MAG.97) | | ========= | | e-mail giiac@hotmail.com | | | | | | | +----------------------------------------------------------------+ SPLIT & BUILD ============= Indice 1. Introduzione 2. Dati tecnici 3. SPLIT (versione 1.5) . Uso . Opzioni . Distribuzione 4. BUILD (versione 1.4) . Uso . Opzioni . Distribuzione . Alternative 5. APPENDICE . Errori di SPLIT . Warning di SPLIT . Errori di BUILD . Warning di BUILD . Contatti . Storia di SPLIT & BUILD . Bug . notizie 1. [Introduzione] Se si ha un file di grosse dimensioni e lo si vuole trasportare da un computer ad un altro mediante dei floppy disk ma esso non entra in un solo disco anche se compresso, in alternativa al backup, si potra' ricorrere a SPLIT. SPLIT divide il file in diversi pezzi piu' piccoli. Questi pezzi potranno essere copiati su diversi floppy e una volta trasportati sull'hard disk dell'altro computer potranno essere riuniti in modo da ricreare il file originale. SPLIT, poiche' lavora in modo binario, puo' operare su file di qualsiasi tipo (file dati, file eseguibili, ecc.). La ricostruzione del file originale avviene mediante il programma BUILD presente nell'archivio. 2. [Dati tecnici] SPLIT & BUILD sono stati scritti e compilati in C. Funzionano in ambiente DOS e non richiedono grandi risorse hardware: dovrebbero funzionare su qualsiasi computer dotato di hard disk. La versione 1.3 e' stata testata su un emulatore PC 286 per Amiga, su un Pentium 75, un Pentium 90 e su un Pentium 150. 3.1 [Uso di Split] SPLIT funziona in ambiente DOS. La sintassi e' la seguente: SPLIT [opt] file1 file2 ... e' il pathname del file che si vuole dividere; file1 file2 ... sono i pathnames dei vari pezzi in cui il file sorgente dovra' essere diviso. Il numero minimo dei pezzi e' 2. esempio: C:\>Split testi\gen1.txt gen1.01 gen1.02 gen1.03 Il file GEN1.TXT, posto nella cartella TESTI del drive C:, verra' diviso in tre pezzi uguali (l'ultimo potra' essere di qualche byte piu' lungo nel caso che il file non sia esattamente divisibile per tre) chiamati GEN1.01, GEN1.02 e GEN1.03 e memorizzati in C. Nel caso che sul supporto magnetico siano gia' presenti dei file con dei nomi uguali a quelli specificati, il programma prima di soprascriverli chiedera' conferma: GEN1.02: gia' esistente! Vuoi continuare? (Si/No/Tutti/tErmina)? S premendo il tasto S il file verra' soprascritto; premendo il tasto T il file verra' soprascritto e tutti gli altri eventuali file gia' esistenti saranno soprascritti senza che SPLIT debba chiedere ulteriore conferma; premendo il tasto N o E il file non verra' soprascritto. In entrambi i casi il programma terminera' comunicando il messaggio di interruzione. Altri tasti non sono accettati e se premuti la domanda sara' ripresentata. Dopo la creazione dei vari pezzi, verra' memorizzato un file testo chiamato RICORDA.TXT, avente lo stesso path del primo pezzo, in cui sara' annotata la linea comando di BUILD per ricostruire il file sorgente. Questo file e' molto utile per ricordarsi la giusta sequenza dei pezzi. 3.2 [Opzioni di SPLIT] Sulla linea di comando possono essere specificate o meno le seguenti opzioni: buf= imposta il buffer totale (lettura + scrittura) che il programma dovra' utilizzare. Il valore di default e' 50.000 byte. dovra' essere un valore compreso tra 1.024 e 56.000. Maggiore sara' il valore del buffer maggiore sara' la velocita' del programma (su computer dotati non si nota alcuna differenza). Esempio: SPLIT buf=30000 Pluto.txt pluto.01 pluto.02 /q se viene specificata tale opzione, SPLIT soprascrivera' tutti i file gia' esistenti senza chiedere conferma. Esempio: SPLIT /q Pluto.txt pluto.01 pluto.02 /quiet se viene inserita tale opzione, non verra' visualizzato nessun messaggio e tutti i file gia' esistenti saranno soprascritti senza che sia chiesta la conferma. In caso d'errore sara'ritornato un ERRORLEVEL,utilizzabile in file batch, che indica l'errore verificatosi: ErrorLevel Descrizione 0 non si e' verificato nessun errore; 1 software danneggiato; 2 linea di comando errata; 3 errore di lettura; 4 file non trovato; 5 memoria insufficiente; 6 valore buffer non valido; 8 interruzione; 11 errore di scrittura; 12 accesso negato; 13 formato lista non riconosciuto; 14 lista danneggiata. es. SPLIT /quiet Pluto.txt pluto.01 pluto.02 /time fara' visualizzare le informazioni sul tempo impiegato. Esempio: SPLIT Pluto.txt pluto.01 pluto.02 /q /time @ consente di scrivere i pathnames dei pezzi da creare in un file anziche'di immetterli nella linea di comando: SPLIT Pluto.txt @C:\TMP\Lista.dat /time Quando si utilizza tale opzione non e' piu' possibile inserire i pathnames dei pezzi nella linea di comando. Il file LISTA.DAT dovra' contenere la lista dei pezzi da creare. Alla lista dovra' essere anteposta la stringa "@split" e posposta la stringa "@fine": file:LISTA.DAT qua si puo' scrivere tutto cio' che si vuole... @split c:\tmp\file.01 c:\tmp\file.02 c:\tmp\file.03 @fine anche qua si puo' scrivere tutto cio' che si vuole... Con tale opzione si e' eliminato ogni limite sul numero di pezzi che si possono creare. /? se viene specificata tale opzione, SPLIT visualizzera' una piccola pagina d'aiuto. Es. SPLIT /? 3.3 [Distribuzione di SPLIT] SPLIT appartiene alla categoria FREEWARE e cio' significa che puo' essere distribuito liberamente ma l'autore ne conserva il copyright. DIVIETI........................................................... . a) SPLIT non puo' essere venduto tranne un piccolo costo per le . spese di copia (supporto magnetico) e di distribuzione; . . b) non puo'essere inserito in propri pacchetti commerciali senza . l'autorizzazione scritta dell' autore (a tal proposito . contattare l'autore all'indirizzo postale citato a capo di . questa documentazione); . . c) non puo' essere modificato: dovra' essere distribuito "così . com'e"; . .................................................................. CONCESSIONI....................................................... . a) si puo' liberamente copiarlo e distribuirlo a propri amici (o . a chi si vuole); . . b) puo'essere inserito in raccolte di programmi di Public Domain . e di Shareware o distribuito via rete (Internet). In ogni . caso dovra'essere distribuito assieme a questa documentazione . e all'utilita' BUILD. . . c) puo' essere compresso in un archivio (tipo Lha, Zip, ecc...). . .................................................................. NESSUNA GARANZIA.................................................. . L'autore non si assume nessuna responsabilita' sui danni di . qualsiasi genere diretti o indiretti che il programma o il suo . uso potrebbe causare: . . OGNUNO USI QUESTO SOFTWARE A PROPRIO RISCHIO E PERICOLO!!! . ---------------------------------------------------------- . . Non si garantisce il perfetto funzionamento del programma. . .................................................................. ÛÛÛ ÛÛÛÛ ÛÛÛ ÛÛÛ Û Û ÛÛÛ ÛÛÛÛ ÛÛÛ Û Û Û Û Û Û Û Û Û Û Û Û Û ÛÛ ÛÛÛß ÛÛ ÛÛ Û Û Û ÛÛÛÛÛ ÛÛÛß ÛÛ Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û Û ÛÛÛ ÛÛÛ Û Û Û Û Û Û ÛÛÛ N.B. Tutte le norme relative alla distribuzione di SPLIT valgono per chiunque tranne per l'autore che puo'fare del programma quello che vuole. +------------------------+ | BUILD (versione 1.4) | +------------------------+ 4.1 [Uso di Build] Per ricostruire il file originale bisognera'ricorrere al programma BUILD posto nell'archivio. esempio: C:\> BUILD gen1.01 gen1.02 gen1.03 Gennaio1.txt I file GEN1.01, GEN1.02 e GEN1.03 saranno uniti ricreando il file originale GENNAIO1.TXT. E' importante che i file siano disposti nello stesso ordine in cui sono stati generati. A questo proposito si ci puo' aiutare mediante suffissi progressivi come ho fatto io nell'esempio oppure consultando il file RICORDA.TXT posto nella stessa cartella dove si trova il primo pezzo. La sintassi di BUILD e': BUILD [opt] file1 file2 ... dove e' il pathname del file che dovra'essere costruito e in ogni caso dovra' essere l'ultimo pathname della linea di comando; file1, file2 ... sono i pathnames dei vari pezzi. Nel caso che sia gia' esistente, BUILD, prima di soprascriverlo chiedera' conferma: gia' esistente! Vuoi Continuare? (Si/No/Tutti/tErmina)? premendo il tasto S il file sara' soprascritto mentre non lo sara' premendo il tasto N e il programma sara' interrotto; i tasti T e E sono rispettivamente sinonimi di Si e No. 4.2 [Opzioni di Build] buf= imposta il buffer che dovra' essere utilizzato. Es. BUILD file.01 file.02 testo.txt buf=30000 Il valore di default e' 50.000 byte; /q fara' in modo che BUILD soprascriva un file gia' esistente senza chiedere conferma; Es. BUILD file.01 file.02 testo.txt /q /quiet fa in modo che BUILD non visualizzi alcun messaggio e soprascrivera'i file gia'esistenti senza chiedere conferma. In caso d'errore verra' ritornato un ERRORLEVEL utilizzabile in file batch (i codici d' errore sono gli stessi di SPLIT). Es. BUILD /quiet file.01 file.02 testo.txt /time fa visualizzare, al termine delle operazioni, il tempo impiegato. Es. BUILD file.01 file.02 testo.txt /time @ legge la lista dei pezzi da un file anziche' dalla linea di comando. Es. BUILD @c:\tmp\lista.dat testo.txt /? visualizza una piccola pagina d'aiuto. 4.3 [Distribuzione di BUILD] BUILD appartiene alla categoria FREEWARE e per esso vale tutto Cio' che e' menzionato per la distribuzione di SPLIT. Inoltre BUILD non puo' essere distribuito separatamente da SPLIT. 4.4 [Alternative a BUILD] In alternativa a BUILD e' possibile usare il comando 'COPY': C:\> Copy /b gen1.01 + gen1.02 + gen2.03 gennaio1.txt 5.1 [Errori di SPLIT] (E2) valore buffer errato (min. 1024 | max. 56000). Si verifica quando si passa al parametro 'buf=' un valore maggiore di 56000 o minore di 1024. Esempio: SPLIT Disegno.drw Disegno.01 Disegno.02 buf=80000 Sara' ritornato ErrorLevel uguale a 6. (E3) & (E4) errore: memoria stack insufficiente. La memoria stack a disposizione e' terminata. Per ovviare a tale errore si dovra'diminuire il buffer passando al parametro 'buf' un valore piu' basso. Se all'errore viene posposto il codice (E3), la memoria a disposizione e' molto bassa e probabilmente si dovra' impostare il buffer molto basso (es. buf=4000). Sara' ritornato ErrorLevel uguale a 5. (E5) & (E6) file sorgente non trovato! Il file da dividere non esiste. Probabilmente e'stato sbagliato il path o il nome (E5). Se viene posposto il codice (E6) il path e il nome e'giusto e il motivo va ricercato nel file sorgente (potrebbe essere danneggiato o infetto). Sara' ritornato ErrorLevel uguale a 4. (E7) settaggio del buffer di lettura fallito! Un errore che non dovrebbe mai verificarsi. Nell'eventualita' si Dovra' provare ad impostare un buffer piu' basso. Sara' ritornato ErrorLevel uguale a 5. (E8) errore: file non accessibile... Si verifica quando il path del pezzo da creare non e'accessibile o quando nel soprascrivere un file gia' esistente l'accesso a tale file viene negato perche' protetto da scrittura. Nel primo caso verificare se le directory esistono mentre nel secondo caso si dovra'eliminare la protezione del file mediante il comando ATTRIB -r . Sara' ritornato ErrorLevel uguale a 12. (E9) settaggio del buffer di scrittura fallito! Un errore che non dovrebbe mai verificarsi. Nell'eventualita' si Dovra' provare ad impostare un buffer piu' basso. Sara' ritornato ErrorLevel uguale a 5. (E10) errore di lettura... Durante la lettura dal file sorgente si e' verificato un errore. Sara' ritornato ErrorLevel uguale a 3. (E11) errore: file non accessibile... Vedi (E8). La differenza tra (E8) e (E11) sta nel fatto che il primo si riferisce al primo pezzo da creare mentre il secondo ai successivi. Sara' ritornato ErrorLevel uguale a 12. (E12) settaggio del buffer di scrittura fallito! Vedi (E9). Sara' ritornato ErrorLevel uguale a 5. (E13) errore di scrittura... Si e' verificato un errore durante la creazione dei file. Sara' ritornato ErrorLevel uguale a 11. (E14) linea di comando errata... Non e' stata rispettata la sintassi del comando. Rileggere la documentazione. Sara' ritornato ErrorLevel uguale a 2. (E15) errore: file non accessibile... Questo errore si verifica quando esiste gia' un file con nome RICORDA.TXT ed e' protetto da scrittura. Eliminare la protezione mediante il comando dos ATTRIB -r . Si ricorda che il file RICORDA.TXT ha lo stesso path del primo pezzo da creare. Sara' ritornato ErrorLevel uguale a 12. (E16) errore di scrittura... Durante la creazione del file RICORDA.TXT si e' verificato un errore di scrittura. Sara' ritornato ErrorLevel uguale a 11. (E17) errore: troppi file... Questo errore poteva verificarsi solo nelle versioni precedenti di SPLIT. Sara' ritornato ErrorLevel uguale a 5. (E18) file non trovato! Si verifica quando il file contenente la lista dei pezzi da creare non esiste o si e' digitato il pathname errato. Sara' ritornato ErrorLevel uguale a 4. (E19) errore: memoria stack insufficiente... Questo errore si verifica quando la lista dei pezzi da creare e' composta da troppi file. In pratica non dovrebbe mai verificarsi a meno che non si divida il sorgente in migliaia (?!) di pezzi. Sara' ritornato ErrorLevel uguale a 5. (E20) formato non ricosciuto. Il file contenete la lista dei pathnames dei pezzi da creare non e' scritta nel giusto formato. Sara' ritornato ErrorLevel uguale a 13. (E21) file danneggiato. Il file contenete la lista dei pathnames dei pezzi da creare non rispetta completamente il formato. Sara' ritornato ErrorLevel uguale a 14. (E22) errore di lettura. Si e' verificato un errore di lettura durante la lettura del file contenente la lista dei pezzi. Sara' ritornato ErrorLevel uguale a 3. (E23) errore: minimo due files! Si verifica quando nel file contente la lista dei pezzi da creare sono specificati meno di due nominativi. Sara' ritornato ErrorLevel uguale a 2. 5.2 [Warning di SPLIT] I warning sono messaggi di avvertenza che il programma visualizza senza che l'esecuzione sia arrestata. (W1) ... ignorato: parametro duplicato. Questo messaggio si verifica quando un parametro o un opzione viene inserita piu' di una volta. Esempio: SPLIT buf=40000 Disegno.drw Disegno.01 Disegno.02 buf=3000 In tal caso verra' usato un buffer uguale a 40000 byte mentre buf=3000 verra' ignorato. (W2) creazione file RICORDA.TXT abortita. Questo messaggio si verifica quando l'utente non vuole soprascrivere il file RICORDA.TXT gia' esistente. (W3) ... ignorato: lista in file! Questo messaggio si verifica quando si legge la lista dei pezzi da un file e contemporaneamente si vuole specificare un ulteriore nominativo dalla linea di comando. Esempio: SPLIT Disegno.drw @lista.dat Disegno.03 il nominativo DISEGNO.03 sara' ignorato e il sorgente sara' diviso solo nei pezzi indicati nel file LISTA.DAT. 5.3 [Errori di BUILD] (E1) linea di comando errata... Non e' stata rispettata la sintassi del programma.Verra' ritornato un ErrorLevel uguale a 2. (E2) & (E3) errore: memoria stack insufficiente. La memoria stack a disposizione e' terminata. Per ovviare a tale errore si dovra'diminuire il buffer passando al parametro 'buf' un valore piu' basso. Se all'errore viene posposto il codice (E2), la memoria a disposizione e' molto bassa e probabilmente si dovra' impostare il buffer molto basso (es. buf=4000). Sara' ritornato ErrorLevel uguale a 5. (E4) errore: destfile non accessibile... Si verifica quando il path del file da ricostruire non e' accessibile o quando nel soprascrivere un file gia' esistente l' accesso a tale file viene negato perche' protetto da scrittura. Nel primo caso verificare se le directory esistono mentre nel secondo caso si dovra'eliminare la protezione del file mediante il comando ATTRIB -r . Sara' ritornato ErrorLevel uguale a 12. (E5) errore nel settaggio del buffer di scrittura... Un errore che non dovrebbe mai verificarsi. Nell'eventualita' si dovra' provare ad impostare un buffer piu' basso. Sara' ritornato ErrorLevel uguale a 5. (E6) & (E7) errore: file non trovato! Il file da unire non esiste. Probabilmente e' stato sbagliato il path o il nome (E6). Se viene posposto il codice (E7) il path e il nome e' giusto e il motivo va ricercato nel file (potrebbe essere danneggiato o infetto da un virus). Sara' ritornato ErrorLevel uguale a 4. (E8) errore nel settaggio del buffer di lettura... Un errore che non dovrebbe mai verificarsi. Nell'eventualita' si dovra' provare ad impostare un buffer piu' basso. Sara' ritornato ErrorLevel uguale a 5. (E9) errore di lettura... Durante la lettura del file da unire si e' verificato un errore. Sara' ritornato ErrorLevel uguale a 3. (E10) errore di scrittura... Durante ricostruzione del file si e' verificato un errore di scrittura. Sara' ritornato ErrorLevel uguale a 11. (E11) errore: troppi files... Questo errore poteva verificarsi solo nelle versioni precedenti di BUILD. Sara' ritornato ErrorLevel uguale a 5. (E12) errore: valore buffer errato (min. 1024 | max. 56000). Si verifica quando si passa al parametro 'buf=' un valore maggiore di 56000 o minore di 1024. Esempio: BUILD buf=80000 Disegno.01 Disegno.02 Disegno.drw Sara' ritornato ErrorLevel uguale a 6. (E13) file non trovato! Si verifica quando il file contenente la lista dei pezzi da unire non esiste o si e' digitato il pathname errato. Sara' ritornato ErrorLevel uguale a 4. (E14) errore: memoria stack insufficiente... Questo errore si verifica quando la lista dei pezzi da unire e' composta da troppi file. In pratica non dovrebbe mai verificarsi a meno che il file sia stato diviso in migliaia (?!) di pezzi. Sara' ritornato ErrorLevel uguale a 5. (E15) formato non ricosciuto. Il file contenete la lista dei pathnames dei pezzi da unire non scritta nel giusto formato. Sara' ritornato ErrorLevel uguale a 13. (E16) file danneggiato. Il file contenete la lista dei pathnames dei pezzi da unire non rispetta completamente il formato. Sara' ritornato ErrorLevel uguale a 14. (E17) errore di lettura. Si e' verificato un errore di lettura durante la lettura del file contenente la lista dei pezzi. Sara' ritornato ErrorLevel uguale a 3. (E18) errore: minimo due files! Si verifica quando nel file contente la lista dei pezzi da unire sono specificati meno di due nominativi. Sara' ritornato ErrorLevel uguale a 2. 5.4 [Warning di BUILD] I warning sono messaggi di avvertenza che il programma visualizza senza che l'esecuzione sia arrestata. (W1) ... ignorato: parametro duplicato. Questo messaggio si verifica quando un parametro o un opzione viene inserita piu' di una volta. Esempio: BUILD buf=40000 Disegno.01 Disegno.02 Disegno.drw buf=3000 In tal caso verra' usato un buffer uguale a 40000 byte mentre buf=3000 verra' ignorato. (W2) ... ignorato: lista in file! Questo messaggio si verifica quando si legge la lista dei pezzi da un file e contemporaneamente si vuole specificare un ulteriore nominativo dalla linea di comando. Esempio: BUILD @lista.dat Disegno.drw Disegno.03 il nominativo DISEGNO.03 sara'ignorato e il file DISEGNO.DRW sara' composto solo dai pezzi indicati nel file LISTA.DAT. 5.5 [Contatti] Chiunque voglia mettersi in contatto con l'autore per chiarimenti, suggerimenti, o per segnalazioni di errori lo puo' fare via e-mail all'indirizzo citato a capo di questa documentazione. Dovranno essere specificate le configurazioni software e hardware usate. 5.6 [Storia di SPLIT] versione 1.3beta di SPLIT (13 Marzo 1997) ========================= Adesso SPLIT, dopo aver creato i vari pezzi, memorizza un file testo chiamato 'REMEMBER.TXT' avente lo stesso path del primo frame dove sara'annotata la linea comando di BUILD per ricostruire il file sorgente. Questo file e' molto utile per ricordarsi la giusta sequenza dei pezzi. versione 1.4 di SPLIT (27 Aprile 1997) ===================== -) La funzione per chiedere la conferma Ask() e'stata radicalmente modificata in modo da disporre di quattro possibili risposte anziche' delle solo due precedenti; -) e'stata modificata la scansione della linea di comando. Adesso e' possibile specificare o meno il parametro buf=: se tale parametro viene omesso verra'assunto un valore di default; -) sono state aggiunte due nuove opzioni: /q e /?; -) nel codice e' stata inserita una funzione di protezione per proteggere il copyright del programma; -) SPLIT e' ora accompagnato dalla versione 1.3 di BUILD. La versione 1.3 di BUILD si avvantaggia di tutte le innovazioni della versione 1.4 di SPLIT: usa la nuova routine Ask(); dispone di una nuova scansione della linea di comando; sono state aggiunte due opzioni (/q e /?) ed utilizza la funzione di protezione del copyright. versione 1.5 di SPLIT (05 Maggio 1997) ===================== -) il limite dei 40 pezzi e' stato tolto. Con l'aggiunta dell' opzione @, SPLIT non ha piu'il limite imposto dalla linea di comando. -) sono state aggiunte le nuove opzioni /quiet, /time e @; -) BUILD ha raggiunto la versione 1.4 che dispone di tutte le opzioni di SPLIT v1.5. -) E' stato corretto un errore di programmazione nella fase di creazione del file RICORDA.TXT (veniva creato in modalita' binaria anziche' in quella testo). 5.7 [BUG] [input/output] Sia SPLIT che BUILD non prevedono che un file sorgente e un file destinazione possano essere lo stesso file. Il problema e' che il programma non si accorge che un file e' stato aperto come sorgente e come destinazione e non comunica nessuno errore anche se il risultato e' disastroso. Ad esempio, volendo usare il programma BUILD per accodare un file ad un altro, scriveremo: BUILD lista.txt orologi.txt lista.txt /* NO! */ Ossia il file LISTA.TXT dovra' essere costituito dall'unione dei file LISTA.TXT e OROLOGI.TXT. Con tale linea di comando, pero', non avremo il risultato desiderato ma il file LISTA.TXT sara'in maggioranza costituito da byte con codice 255 e quel che peggio e' che il programma non comunichera' l'errore. Questo accade perche' BUILD non appena apre il file LISTA.TXT come file destinazione, cancella il suo contenuto. Quindi volendo accodare il file OROLOGI.TXT dovremo usare un altro procedimento: BUILD lista.txt orologi.txt lista.tmp /* SI! */ DEL lista.txt REN lista.tmp lista.tmp Questo accade anche per SPLIT anche se in tal caso non credo che esista un motivo per cui scrivere: SPLIT Disegno.drw Disegno.01 Disegno.drw /* NO! */ In futuro non si fara' in modo che BUILD o SPLIT accetti tale sintassi ma si dovra' comunicare l'errore o impedire che un file sia aperto contemporaneamente come sorgente e come destinazione. [nomi lunghi] Sia SPLIT che BUILD non accettano nomi lunghi (max. 8 caratteri + 3 di Suffisso). C:\>dir provanumero1 Il volume nell'unità C è MINEX Numero di serie del volume: FATT-MIEI Directory di C:\ PROVAN~1 200.569 19/01/00 12.22 provanumero1 1 file 200.569 byte 0 dir 2.020.438.016 byte disponibili C:\>split provanumero1 pez1 pez2 file sorgente non trovato! (E5) avremo dovuto scrivere: C:\>split PROVAN~1 pez1 pez2 5.8 [NOTIZIE] SPLIT v1.5 è stato premiato e trasmesso da Televideo Personal Software nella Rubrica Software Autoprodotto (15-19 aprile 1998).