55

As part of some sort of legal record-keeping thing, my father's business lawyers has requested a copy of the database of customers from a work computer. The core issue is that this work computer is a circa 1988 AOpen...thing, running what looks to be a modified version of DOS 5.0.

I'm very weak with actual MS-DOS, and older hardware in general, but after some fuddling around I finally found the file that the lawyer needed. The issue comes that the customer "database" (read: space delimited text file) is ~3MB big. This is too big for one floppy, and the data is in one single file, which, to my very limited knowledge of actual DOS, would preclude me splitting it with the built-in programs on the computer.

Checking the back of the computer, I noted 1 built-in serial port, a parallel port in an expansion slot, and somewhat inexplicably, a NIC with a jack in it too big to be RJ-11. I didn't test if it was actually a RJ-45 as I didn't have an ethernet cable handy at the time. However, the two program files that I would have used (according to my research) to use the serial are nowhere to be found on the computer. Furthermore, I haven't the slightest idea what I would do to leverage the NIC.

Furthermore complicating issues, just pulling the HDD has to be relegated to a last resort, as the computer (which is older than I am) is used for daily business operations and would have to be taken offline for around 1 day due to the distance between the computer and me, which the "client" does not particularly want.

So the crux of my question is, with my almost none existent skill in DOS (I accidentally corrupted one of the "databases", and would have been in bad shape if I didn't make a backup beforehand), is there a simple way I can leverage the above-mentioned assets (or something else I don't know about DOS) to get this 3 meg file off of the computer without pulling the HDD?

10 Answers10

53

Try using PKZip. It's an old DOS utility that provided some of the earliest zip file capability. You should be able to download it at http://wiki.oldos.org/Downloads/MSDOS. If the database is a text file, then PKZip should let you compress enough to get onto a floppy disk, or if not, then it should allow spanning of multiple disks. At that point, your main issue is getting from the floppy onto a more modern computer. I don't remember the syntax for PKZip, but I do remember that it does have very good help built in to show you exactly how to zip up and unzip files. I recommend version 2.04g from the downloads as that was universally regarded as the best version for many years.

Tom A
  • 1,516
17

Does the computer have QBasic installed? If so, you might be able to write a simple file splitter in it, something like this:

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

This will split your database into chunks of 1.3 MB, which should fit comfortably on a 1.44 MB floppy even after accounting for FAT overhead.

Edit: Here's an updated version using binary I/O, which runs a lot faster, doesn't have issues with Ctrl-Z characters and correctly handles input files whose size is not a multiple of the buffer size. I've tested it under DOSBox, and it correctly split a 3 MB file of random bytes into chunks.

10

It's only 3 megs, so using a PKZIP with spanning would be the easiest solution, as others have said. However

If you had such a problem and the floppy drive did NOT work, using the serial port would be pretty easy.

To use a serial port, you need a DOS terminal program, and you would run it then use a protocol like ZMODEM, to transfer the file at 115kbps, which should take you less than 5 minutes at 115200 kbps.

On your laptop, or any other modern PC, you would need a USB-to-serial adaptor, and a null modem cable, and a terminal program that supports the same file transfer protocol. These cables should set you back about $5 each at most decent computer stores.

The best MS-DOS terminal program I ever used was called Telix version 3.12.

Warren P
  • 3,019
8

PKZIP does support spanning multiple floppies, and Lenovo has a DOS compatible app called CHOPPER that will also accomplish this.

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

The pkzip switch for disk spanning (from docs):

-&[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]]

horatio
  • 3,719
JohnP
  • 191
3

Did the attorney explicitly specify that the database be provided in electronic format?
If not, and if this mission critical system has a functional (dot matrix) printer attached you could print the text file using the DOS print command.
For example:

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

Assuming printer speed of 100 lpm (~2.5 ppm) and 750 pages of text (estimated amount in 3Mb text file according to this calculator), then you should be able to produce a complete copy in about 5 hours.

gm2
  • 796
2

Perhaps you could split the text file manually using tools already present in DOS, and recombine them in the target computer? Because it's all ASCII, it should be a lot easier to do this than to try to split a binary file.

2

I found

http://www.oocities.org/synasir/split.htm

edit: to download it, google SPLITV10.ZIP

and

http://www.hjsplit.org/dos/

Maybe you can split the file in 2-3 parts and copy it one piece at a time.

2

Before the vaunted days of ubiquitous USB chips and a NIC in every computer I remember fondly hooking up two computers with serial and parallel cables for large-scale data transfers.

I had to google the most convenient method in the current age, but it looks kind of similar to what I remember.

File Maven is a file tranfer utility that enables you to do transfers via serial or parallel cable. You probably don't have anything else with a serial port around anymore, so a serial-to-usb adapter will give you a connection to modern technology.

This cable might need a sex change adapter, I forget which part a PC had.

I want to stand up and give a big round of applause to whichever manufacturer was responsible for the hard drive. 25 year old HDD still running. Can you imagine today's SATA drives still running in 2038?

1

You can always find an 25 pin Zip/Jaz drive on craigslist or ebay. However, there are better methods than this. :)

Keltari
  • 75,447
1

How about trying to find an old version of Laplink, with the client being a new version running on the PC that you want that data on. Software available here: http://www.briggsoft.com/fmdos.htm