Trasferimento di file "di grandi dimensioni" dalla macchina MS-DOS 5.0 (senza rimuovere l'HDD)


55

Come parte di una sorta di registrazione legale, gli avvocati d'affari di mio padre hanno richiesto una copia del database dei clienti da un computer di lavoro. Il problema principale è che questo computer di lavoro è una cosa di AOpen del 1988 circa, che esegue quella che sembra essere una versione modificata di DOS 5.0.

Sono molto debole con MS-DOS attuale e hardware più vecchio in generale, ma dopo un po 'di confusione ho finalmente trovato il file di cui l'avvocato aveva bisogno. Il problema è che il "database" del cliente (leggi: file di testo delimitato da spazi) è grande ~ 3 MB. Questo è troppo grande per un floppy e i dati sono in un singolo file, il che, per la mia conoscenza molto limitata del DOS attuale, mi impedirebbe di dividerlo con i programmi integrati sul computer.

Controllando il retro del computer, ho notato 1 porta seriale incorporata, una porta parallela in uno slot di espansione e, in qualche modo inspiegabilmente, una scheda di rete con un jack troppo grande per essere RJ-11. Non ho testato se in realtà fosse un RJ-45 poiché al momento non avevo un cavo Ethernet a portata di mano. Tuttavia, i due file di programma che avrei usato (secondo la mia ricerca) per utilizzare il seriale non si trovano da nessuna parte sul computer. Inoltre, non ho la minima idea di cosa farei per sfruttare la scheda di rete.

Inoltre, complicando i problemi, il solo estrazione dell'HDD deve essere relegato in ultima istanza, poiché il computer (che è più vecchio di me) viene utilizzato per le operazioni aziendali quotidiane e dovrebbe essere messo offline per circa 1 giorno a causa della distanza tra il computer e me, che il "client" non desidera particolarmente.

Quindi il nocciolo della mia domanda è che, con la mia quasi nessuna abilità esistente in DOS (ho accidentalmente corrotto uno dei "database", e sarei stato in cattive condizioni se non avessi fatto un backup in anticipo), c'è un modo semplice Posso sfruttare le risorse sopra menzionate (o qualcos'altro che non conosco su DOS) per ottenere questo file da 3 mega dal computer senza estrarre l'HDD?


13
La soluzione più semplice sarebbe quella di prendere l'ultimo backup completo. Non dirmi che non è stato eseguito il backup del file mission-critical e vive su una macchina che appartiene a una casa di riposo.
emory

14
+1 per l'utilizzo doscorretto di un tag!
un CVn

13
Questo dovrebbe essere un campanello d'allarme. Se non riescono a risparmiare il computer per un breve periodo perché è in uso quotidiano cosa faranno quando si bloccherà e perderà tutti i loro dati? Più a lungo lo lasciano, più è probabile che ciò accada. Cogli l'occasione per spingerli ad aggiornare e fare backup regolari (che possono quindi essere facilmente copiati e inviati all'avvocato)
JamesRyan

3
Mi sento male per il povero ragazzo che usa un dosbox degli anni '80 come sua postazione di lavoro quotidiana
crasico

2
"Il computer (che è più vecchio di me) viene utilizzato per le operazioni commerciali quotidiane": questa frase mi ha fatto rabbrividire.
Quel ragazzo brasiliano, il

Risposte:


53

Prova a usare PKZip. È una vecchia utility DOS che ha fornito alcune delle prime funzionalità di file zip. Dovresti essere in grado di scaricarlo da http://wiki.oldos.org/Downloads/MSDOS . Se il database è un file di testo, PKZip dovrebbe consentire di comprimere abbastanza per accedere a un disco floppy o, in caso contrario, dovrebbe consentire lo spanning di più dischi. A quel punto, il problema principale è passare dal floppy a un computer più moderno. Non ricordo la sintassi di PKZip, ma ricordo che ha un ottimo aiuto integrato per mostrarti esattamente come comprimere e decomprimere i file. Raccomando la versione 2.04g dei download in quanto è stata universalmente considerata la migliore versione per molti anni.


12
Anche se non riesci a comprimerlo abbastanza per adattarlo a un singolo floppy, dovresti essere in grado di creare un set di volumi spanning di file zip.
daxlerod,

2
se è puro testo, dovrebbe comprimersi abbastanza bene
Keltari,

24
@Tarkenfire: tutto su DOS non è in chiaro! Come esisterebbero i programmi, per non parlare praticamente di tutti i formati di file binari?
Karan,

1
Ottenere i dati dal floppy non dovrebbe essere troppo difficile; Le unità floppy USB sono piuttosto economiche.
Aaron Miller,

5
Solo per aggiornare, pkzip ha funzionato come un fascino; ha compresso un file ~ 3000kb a circa 300kb, probabilmente perché era un file di testo delimitato da spazi con 2700kb di spazio bianco ...
Tarkenfire,

17

QBasic è installato sul computer ? In tal caso, potresti essere in grado di scrivere un semplice file splitter al suo interno, qualcosa del genere:

OPEN "database.dat" FOR BINARY AS #1

LET disk% = 1
LET todo& = LOF(1)

DO UNTIL todo& <= 0
    PRINT "Insert disk"; disk%; "into drive A: and press enter.";
    LINE INPUT ""; foo$

    LET file$ = "A:\chunk" + LTRIM$(RTRIM$(STR$(disk%))) + ".dat"
    OPEN file$ FOR BINARY AS #2

    LET done& = 0
    DO UNTIL done& >= 1300000 OR todo& <= 0
        LET buf$ = SPACE$(4096)
        IF todo& < LEN(buf$) THEN LET buf$ = SPACE$(todo&)
        GET #1, , buf$
        PUT #2, , buf$
        LET done& = done& + LEN(buf$)
        LET todo& = todo& - LEN(buf$)
    LOOP

    CLOSE #2
    LET disk% = disk% + 1
    BEEP
LOOP
CLOSE #1

Questo dividerà il tuo database in blocchi di 1,3 MB, che dovrebbero adattarsi comodamente su un floppy da 1,44 MB anche dopo aver tenuto conto del sovraccarico FAT.

Modifica: ecco una versione aggiornata che utilizza l'I / O binario, che funziona molto più velocemente, non ha problemi con i caratteri Ctrl-Z e gestisce correttamente i file di input la cui dimensione non è un multiplo della dimensione del buffer. L'ho testato sotto DOSBox e ha diviso correttamente un file di 3 MB di byte casuali in blocchi.


IIRC, i blocchi possono essere riassemblati usando il flag binario e dos copy es copy /b foo_1.chunk + /b foo_2.chunk {...}. Non ricordo se la versione Dos 5 della copia abbia o meno la bandiera binaria ...
horatio

1
inoltre, se tu open for binarye leggi / scrivi usando gete put, non hai "problemi con i personaggi magici"
horatio

@horatio: grazie per il suggerimento. Risulta anche molto più veloce (anche se sospetto che la differenza possa essere trascurabile quando si scrive su floppy reali).
Ilmari Karonen,

10

Sono solo 3 mega, quindi usare un PKZIP con spanning sarebbe la soluzione più semplice, come altri hanno già detto. però

Se si fosse verificato un problema del genere e l'unità floppy NON funzionasse, l'utilizzo della porta seriale sarebbe piuttosto semplice.

Per utilizzare una porta seriale, è necessario un programma terminale DOS, quindi eseguirlo quindi utilizzare un protocollo come ZMODEM, per trasferire il file a 115kbps, che dovrebbe richiedere meno di 5 minuti a 115200 kbps.

Sul tuo laptop o su qualsiasi altro PC moderno, avrai bisogno di un adattatore da USB a seriale, un cavo null modem e un programma terminale che supporti lo stesso protocollo di trasferimento file. Questi cavi dovrebbero costare circa $ 5 ciascuno nei negozi di computer più decenti.

Il miglior programma terminale MS-DOS che abbia mai usato si chiamava Telix versione 3.12.


1
Telix è stato davvero un bel programma e ricordo anche di aver terminato. Mi chiedo se l'hai mai usato? A volte mi mancano i miei modem BBS e USR preferiti. Ricorda di essere ossessionato dalla creazione di arte animata ASCII una volta!
Karan,


3

Il procuratore ha esplicitamente specificato che il database deve essere fornito in formato elettronico?
In caso contrario, e se questo sistema mission-critical ha una stampante funzionale (dot matrix), è possibile stampare il file di testo utilizzando il comando di stampa DOS .
Per esempio:

stampa c: \ file.txt / c / d: lpt1

Supponendo una velocità della stampante di 100 lpm (~ 2,5 ppm) e 750 pagine di testo (importo stimato in file di testo da 3 Mb secondo questo calcolatore ), si dovrebbe essere in grado di produrre una copia completa in circa 5 ore.


2

Forse potresti dividere manualmente il file di testo usando gli strumenti già presenti in DOS e ricombinarli nel computer di destinazione? Poiché è tutto ASCII, dovrebbe essere molto più semplice farlo che cercare di dividere un file binario.


3
Ho provato i due editor che ho trovato sul sistema, ma entrambi hanno lanciato errori "memoria insufficiente", presumo perché hanno tentato di caricare tutti i file da 3 MB in memoria contemporaneamente.
Tarkenfire,

Non userei un editor, ma penso che alcuni argomenti su XCOPY, PIÙ o forse TYPE potrebbero permetterti di dividere il file in modo grossolano. (ovviamente, PKZIP è molto più semplice e quasi garantito per funzionare, ma questo potrebbe essere un tentativo divertente)
Javier


2

Prima dei giorni decantati di onnipresenti chip USB e una scheda di rete in ogni computer, ricordo di aver agganciato con affetto due computer con cavi seriali e paralleli per trasferimenti di dati su larga scala.

Ho dovuto cercare su Google il metodo più conveniente nell'era attuale, ma sembra un po 'simile a quello che ricordo.

File Maven è un'utilità di trasferimento file che consente di eseguire trasferimenti tramite cavo seriale o parallelo. Probabilmente non hai più nient'altro con una porta seriale in giro, quindi un adattatore da seriale a USB ti darà una connessione alla tecnologia moderna.

Questo cavo potrebbe richiedere un adattatore per il cambio di sesso, dimentico quale parte aveva un PC.

Voglio alzarmi in piedi e dare un grande applauso a qualsiasi produttore sia responsabile del disco rigido. HDD di 25 anni ancora in esecuzione. Riesci a immaginare le unità SATA di oggi ancora in esecuzione nel 2038?


1

Puoi sempre trovare un'unità Zip / Jaz a 25 pin su craigslist o ebay. Tuttavia, ci sono metodi migliori di questo. :)


1

Che ne dite di provare a trovare una vecchia versione di Laplink, con il client che è una nuova versione in esecuzione sul PC su cui volete che quei dati. Software disponibile qui: http://www.briggsoft.com/fmdos.htm


I PC moderni non avrebbero nemmeno una porta seriale, figuriamoci una porta parallela, ma suppongo che con un adattatore da USB a seriale, laplink sarebbe una buona idea. Un modo molto più semplice di trasferire il contenuto di un intero disco rigido o il contenuto di un'intera cartella rispetto all'idea di Telix + ZMODEM, ma questo approccio è tecnicamente LEGALE? "LapLink" il marchio è ancora in circolazione, e forse a loro non piace la gente che scarica i loro contenuti DOS.
Warren P
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.