Übertragen einer "großen" Datei von einem MS-DOS 5.0-Computer (ohne Entfernen der Festplatte)

55

Die Wirtschaftsanwälte meines Vaters haben im Rahmen einer Art von Aufzeichnungen eine Kopie der Kundendatenbank von einem Arbeitscomputer angefordert. Das Hauptproblem besteht darin, dass dieser Arbeitscomputer ein AOpen-Ding aus dem Jahr 1988 ist, auf dem eine anscheinend modifizierte Version von DOS 5.0 ausgeführt wird.

Ich bin sehr schwach in Bezug auf aktuelles MS-DOS und ältere Hardware im Allgemeinen, aber nach einigem Hin und Her habe ich endlich die Datei gefunden, die der Anwalt brauchte. Das Problem besteht darin, dass die "Kundendatenbank" (gelesen: durch Leerzeichen begrenzte Textdatei) ~ 3 MB groß ist. Dies ist zu groß für eine Diskette, und die Daten befinden sich in einer einzigen Datei, was nach meinem begrenzten Wissen über das tatsächliche DOS eine Aufteilung mit den auf dem Computer integrierten Programmen ausschließen würde.

Auf der Rückseite des Computers habe ich 1 eingebauten seriellen Anschluss, einen parallelen Anschluss in einem Erweiterungssteckplatz und, etwas unerklärlich, eine Netzwerkkarte mit einer Buchse, die zu groß für RJ-11 ist, festgestellt. Ich habe nicht getestet, ob es sich tatsächlich um einen RJ-45 handelt, da ich zu diesem Zeitpunkt kein Ethernet-Kabel zur Hand hatte. Die beiden Programmdateien, mit denen ich (meiner Recherche nach) die Seriennummer verwendet hätte, befinden sich jedoch nirgends auf dem Computer. Außerdem habe ich nicht die geringste Ahnung, was ich tun würde, um die Netzwerkkarte zu nutzen.

Erschwerend kommt hinzu, dass nur das Ziehen der Festplatte auf ein letztes Mittel verwiesen werden muss, da der Computer (der älter ist als ich) für den täglichen Geschäftsbetrieb verwendet wird und aufgrund des Abstands zwischen den Computern für ca. 1 Tag offline geschaltet werden müsste der rechner und ich, was der "client" nicht besonders will.

Der springende Punkt meiner Frage ist, dass ich mit meiner fast nicht vorhandenen DOS-Kompetenz (ich habe versehentlich eine der "Datenbanken" beschädigt und wäre in einem schlechten Zustand gewesen, wenn ich nicht vorher ein Backup erstellt hätte), einen einfachen Weg gefunden habe Kann ich die oben genannten Ressourcen (oder etwas anderes, was ich nicht über DOS weiß) nutzen, um diese 3-Megadatei vom Computer zu entfernen, ohne die Festplatte zu entfernen?

Tarkenfire
quelle
13
Die einfachste Lösung wäre, einfach das neueste vollständige Backup zu erstellen. Sagen Sie mir nicht, dass diese unternehmenskritische Datei nicht gesichert wird und auf einem Computer in einem Altersheim läuft.
Emory
14
+1 für die doskorrekte Verwendung eines Tags!
ein
13
Dies sollte ein Weckruf sein. Wenn sie den Computer nicht für kurze Zeit schonen können, weil er im täglichen Gebrauch ist, was werden sie tun, wenn er umkippt und alle Daten verliert? Je länger sie es verlassen, desto wahrscheinlicher ist dies.
Nutzen
3
Ich fühle mich nur schlecht für den armen Kerl, der eine Dosbox aus den 1980ern als seine tägliche Arbeitsstation verwendet
crasic
2
"Der Computer (der älter ist als ich) wird für den täglichen Geschäftsbetrieb verwendet": Dieser Satz ließ mich zittern.
Der Brasilianer

Antworten:

53

Versuchen Sie es mit PKZip. Es ist ein altes DOS-Dienstprogramm, das einige der frühesten Zip-Dateifunktionen bietet. Sie sollten es unter http://wiki.oldos.org/Downloads/MSDOS herunterladen können . Wenn es sich bei der Datenbank um eine Textdatei handelt, sollten Sie mit PKZip genügend komprimieren, um auf eine Diskette zu gelangen. Wenn dies nicht der Fall ist, sollten Sie mehrere Festplatten überspannen können. An diesem Punkt geht es hauptsächlich darum, von der Diskette auf einen moderneren Computer zu gelangen. Ich erinnere mich nicht an die Syntax für PKZip, aber ich erinnere mich, dass sie eine sehr gute integrierte Hilfe enthält, die Ihnen genau zeigt, wie Sie Dateien komprimieren und dekomprimieren. Ich empfehle die Version 2.04g aus den Downloads, da diese seit vielen Jahren allgemein als die beste Version galt.

Tom A
quelle
12
Auch wenn Sie nicht genug komprimieren können, um auf eine einzelne Diskette zu passen, sollten Sie in der Lage sein, einen übergreifenden Volumesatz von Zip-Dateien zu erstellen.
Daxlerod
2
Wenn es sich um reinen Text handelt, sollte es ziemlich gut komprimiert werden
Keltari
24
@Tarkenfire: Alles unter DOS ist kein Klartext! Wie würden Programme existieren, von praktisch jedem Binärdateiformat ganz zu schweigen?
Karan
1
Das Entfernen der Daten von der Diskette sollte nicht zu schwierig sein. USB-Diskettenlaufwerke sind ziemlich billig.
Aaron Miller
5
Nur um zu aktualisieren, pkzip hat wie ein Zauber gewirkt; es komprimierte eine ~ 3000kb-Datei auf ca. 300kb, wahrscheinlich weil es eine durch Leerzeichen begrenzte Textdatei mit 2700kb Leerzeichen war ...
Tarkenfire
17

Ist auf dem Computer QBasic installiert? In diesem Fall können Sie möglicherweise einen einfachen Dateisplitter schreiben, etwa wie folgt:

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

Dadurch wird Ihre Datenbank in Blöcke von 1,3 MB aufgeteilt, die auch nach Berücksichtigung des FAT-Overheads problemlos auf eine 1,44-MB-Diskette passen sollten.

Bearbeiten: Hier ist eine aktualisierte Version mit binärer E / A, die viel schneller ausgeführt wird, keine Probleme mit Strg-Z-Zeichen aufweist und Eingabedateien korrekt verarbeitet, deren Größe nicht ein Vielfaches der Puffergröße ist. Ich habe es unter DOSBox getestet und es hat eine 3-MB-Datei mit zufälligen Bytes korrekt in Blöcke aufgeteilt.

Ilmari Karonen
quelle
IIRC können die Chunks unter Verwendung des Binär-Flags und der Dos-Kopie wieder zusammengesetzt werden, z copy /b foo_1.chunk + /b foo_2.chunk {...}. Ich kann mich nicht erinnern, ob die Dos 5-Version der Kopie die binäre Flagge hat oder nicht ...
Horatio
1
auch, wenn Sie open for binaryund lesen / schreiben mit getund put, haben Sie keine "Magic Character Issues"
Horatio
@horatio: Danke für den Tipp. Es stellt sich auch heraus, dass es viel schneller ist (obwohl ich vermute, dass der Unterschied beim Schreiben auf echte Disketten vernachlässigbar ist).
Ilmari Karonen
10

Es sind nur 3 Megabyte, daher wäre die Verwendung eines PKZIP mit Spanning die einfachste Lösung, wie andere bereits gesagt haben. jedoch

Wenn Sie ein solches Problem hätten und das Diskettenlaufwerk NICHT funktioniert, wäre die Verwendung des seriellen Anschlusses ziemlich einfach.

Um eine serielle Schnittstelle zu verwenden, benötigen Sie ein DOS-Terminalprogramm, das Sie dann mit einem Protokoll wie ZMODEM ausführen, um die Datei mit 115 KBit / s zu übertragen. Dies sollte bei 115200 KBit / s weniger als 5 Minuten dauern.

Auf Ihrem Laptop oder einem anderen modernen PC benötigen Sie einen USB-Seriell-Adapter, ein Nullmodemkabel und ein Terminalprogramm, das dasselbe Dateiübertragungsprotokoll unterstützt. Mit diesen Kabeln sollten Sie in den meisten anständigen Computergeschäften ungefähr 5 US-Dollar zurückbekommen.

Das beste MS-DOS-Terminalprogramm, das ich jemals verwendet habe, hieß Telix Version 3.12.

Warren P
quelle
1
Telix war ein wirklich schönes Programm, und ich erinnere mich, dass ich Terminate verwendet habe. Frage mich, ob du das jemals benutzt hast? Ich vermisse manchmal meine Lieblings-BBSes und mein Lieblings-USR-Modem. Denken Sie daran, dass Sie schon immer davon besessen waren, animierte ASCII-Grafiken zu erstellen!
Karan
8

PKZIP unterstützt das Überspannen mehrerer Disketten, und Lenovo verfügt über eine DOS-kompatible App namens CHOPPER, die dies ebenfalls ermöglicht.

http://support.lenovo.com/en_US/research/hints-or-tips/detail.page?LegacyDocID=DSHY-44QSCB

Der pkzip-Schalter für das Aufspannen von Datenträgern (aus Dokumenten):

-&[f|l|u Span disks [Format|format Low density|Unconditional format| ul|w|v] Unconditional Low density|Wipe disk|enable dos Verify| [s[drive]] Back up entire disk w/ subdirs (-rp) [drive to back up]]

JohnP
quelle
3

Hat der Anwalt ausdrücklich angegeben, dass die Datenbank in elektronischer Form zur Verfügung gestellt werden soll?
Wenn dies nicht der Fall ist und an dieses unternehmenskritische System ein funktionierender (Punktmatrix-) Drucker angeschlossen ist, können Sie die Textdatei mit dem DOS-Druckbefehl drucken .
Zum Beispiel:

gib c: \ file.txt / c / d: lpt1 aus

Bei einer angenommenen Druckergeschwindigkeit von 100 l / min (~ 2,5 Seiten pro Minute) und 750 Seiten Text (geschätzte Menge in einer 3-MB-Textdatei gemäß diesem Taschenrechner ) sollten Sie in der Lage sein, in etwa 5 Stunden eine vollständige Kopie zu erstellen.

gm2
quelle
2

Vielleicht könnten Sie die Textdatei mit den bereits in DOS vorhandenen Tools manuell aufteilen und sie auf dem Zielcomputer neu kombinieren? Da es sich nur um ASCII handelt, sollte es viel einfacher sein, dies zu tun, als zu versuchen, eine Binärdatei zu teilen.

Nicholas Hill
quelle
3
Ich habe die beiden Editoren ausprobiert, die ich auf dem System finden konnte, aber sie haben mir beide Fehler "Nicht genügend Arbeitsspeicher" zugefügt. Ich gehe davon aus, dass sie versucht haben, die 3-MB-Datei alle gleichzeitig in den Arbeitsspeicher zu laden.
Tarkenfire
Ich würde keinen Editor verwenden, aber ich denke, einige Argumente für XCOPY, MORE oder vielleicht sogar TYPE könnten es Ihnen ermöglichen, die Datei grob aufzuteilen. (Natürlich ist PKZIP viel einfacher und funktioniert fast garantiert, aber dies könnte ein lustiger Versuch sein)
Javier
2

Vor den Zeiten allgegenwärtiger USB-Chips und einer Netzwerkkarte in jedem Computer erinnere ich mich, wie ich zwei Computer mit seriellen und parallelen Kabeln für die Übertragung großer Datenmengen liebevoll miteinander verband.

Ich musste in der heutigen Zeit die bequemste Methode googeln, aber sie ähnelt der, an die ich mich erinnere.

File Maven ist ein Dienstprogramm zur Dateiübertragung, mit dem Sie Übertragungen über serielle oder parallele Kabel durchführen können. Sie haben wahrscheinlich nichts mehr mit einer seriellen Schnittstelle in der Nähe, sodass Sie mit einem Seriell-zu-USB-Adapter eine Verbindung zu moderner Technologie herstellen können.

Für dieses Kabel ist möglicherweise ein Adapter zum Ändern des Geschlechts erforderlich. Ich habe vergessen, welches Teil ein PC hatte.

Ich möchte aufstehen und jedem Hersteller, der für die Festplatte verantwortlich war, großen Applaus aussprechen. 25 Jahre alte Festplatte läuft noch. Können Sie sich vorstellen, dass die heutigen SATA-Laufwerke noch im Jahr 2038 laufen?

Árni St. Sigurðsson
quelle
1

Auf craigslist oder ebay finden Sie immer ein 25-poliges Zip / Jaz-Laufwerk. Es gibt jedoch bessere Methoden als diese. :)

Keltari
quelle
1

Wie wäre es, wenn Sie versuchen, eine alte Version von Laplink zu finden, wobei der Client eine neue Version ist, die auf dem PC ausgeführt wird, auf dem Sie diese Daten möchten. Hier verfügbare Software: http://www.briggsoft.com/fmdos.htm

Cavemanharris
quelle
Moderne PCs hätten nicht einmal einen seriellen Anschluss, geschweige denn einen parallelen Anschluss, aber ich denke, mit einem USB-zu-Seriell-Adapter wäre Laplink eine gute Idee. Eine viel einfachere Möglichkeit, den Inhalt einer ganzen Festplatte oder eines ganzen Ordners zu übertragen, als die Idee von Telix + ZMODEM, aber ist dieser Ansatz technisch GESETZLICH? "LapLink" ist die Marke immer noch, und vielleicht mögen sie es nicht, wenn Leute ihre DOS-Sachen herunterladen.
Warren P