Transferring "large" file off of MS-DOS 5.0 Machine (without removing HDD)

55

6

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?

Tarkenfire

Posted 2013-07-19T15:13:36.533

Reputation: 553

13The easiest solution would be to just grab the latest full backup. Don't tell me tis mission critical file is not being backed up and lives on a machine that belongs in a retirement home. – emory – 2013-07-19T17:18:33.883

According to the person who uses the computer "it was at some point in time" re: me asking him about backups, apparently on tape drives that became too inconvenient at some point, apparently. I relented on following up on the subject and just decided to backup any files I touched on the thing. – Tarkenfire – 2013-07-19T17:25:09.797

As an aside, if there were still backups, I would totally just put the magnetic tape in a bag and send it to the lawyer (with a burnt CD taped to the underside). – Tarkenfire – 2013-07-19T17:43:28.503

14+1 for using a dos tag properly! – a CVn – 2013-07-19T17:49:12.820

Well, MS-DOS refers to the actual OS, whereas whatever else is just an emulation of the environment up to XP, and something that just vaguely looks like the actual thing in Vista, 7, and 8. I might be more of a linux "power user", and a "young'en" to boot, but there's no excuse not to know the terms. (Mostly directed at people who call a bash shell a "command prompt") – Tarkenfire – 2013-07-19T17:55:21.573

Did you try using the copy command to send the file to the serial port? – Malvin Butterfinger – 2013-07-19T19:17:03.903

if this is for legal case, i.e. forensics... be careful. you may need to create a SHA hash (obviously on another machine) of that drive so that it can be proven as to not have been tampered. Then encrypt the file... just in case. If that is a NIC you may need a crossover cable to create the Ethernet link if its not autosensing. – engineerDave – 2013-07-19T20:28:54.877

Yeah, I've been considering the aspect that this isn't just to upgrade to something from this milenna, but rather going to a lawyer, it somewhat makes me hesitant to even do it in general if I get dragged into it. – Tarkenfire – 2013-07-19T20:32:38.603

If the computer is far away from you, how will you swap floppy 1 for floppy 2? – crasic – 2013-07-19T20:55:02.087

If you don't want to install another program - check out the script over here at at.msdos

– YetAnotherUser – 2013-07-19T20:57:48.083

13tbh this should be a wakeup call. If they can't spare the computer for a short time because it is in daily use what are they going to do when it keels over and loses all their data? The longer they leave it, the more likely this is to occur. Take the opportunity to push them to upgrade and make regular backups (which then can be easily copied and sent to the lawyer) – JamesRyan – 2013-07-20T00:41:28.183

3I just feel bad for the poor guy using a 1980's dosbox as his daily workstation – crasic – 2013-07-20T02:40:23.257

2"The computer (which is older than I am) is used for daily business operations": this phrase made me shiver. – That Brazilian Guy – 2013-07-20T16:24:45.340

2@JamesRyan Even if I got into a bellhop outfit and gave him a freaking mint on his pillow, he'd ignore any wakeup call I'd have for him. he' just going to have to learn when he loses 20-30 years worth of customer information. – Tarkenfire – 2013-07-20T16:42:05.000

Is your business trying to recover any of the data you accidentally corrupted? – 174140 – 2013-07-20T20:15:13.187

FWIW, when I used to pair up DOS machines using a serial cable (or was it a parallel cable?) , I only found the server/client pair of programs on one machine - so I copied the two files from one machine to the other by floppy and was then able to connect them. – sq33G – 2013-07-21T07:29:30.890

@uprego No, because I restored the data I corrupted with the backup of the data I made (on the same HDD) before I started working on it. – Tarkenfire – 2013-07-22T14:23:11.513

Answers

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

Posted 2013-07-19T15:13:36.533

Reputation: 1 536

12Even if you can't compress it enough to fit on a single floppy, you should be able to create a spanned volume set of zip files. – daxlerod – 2013-07-19T15:22:46.927

The file extension is .fil, but it's contents are plaintext, which, if memory serves, is what everything on DOS is actually. I'll give this a shot when I next have access to the computer...and go into my random computer cabinet and find some floppies. – Tarkenfire – 2013-07-19T15:26:29.217

2if its pure text, it should compress fairly well – Keltari – 2013-07-19T15:28:53.090

24@Tarkenfire: Everything on DOS is not plain-text! How would programs exist, not to mention virtually every binary file format? – Karan – 2013-07-19T16:08:14.840

True. True. By the by, DOS inexperience showing here. The fact that it's DOS 5.0 and not 6.x won't throw a wrench in using this program, will it? (also, will likely mark this as answer, but want to wait till I actually do it before I commit) – Tarkenfire – 2013-07-19T17:56:23.437

@Tarkenfire: No, I don't think pkzip 2.04g should have problems running in DOS 5.0, but in case it does let us know and we can suggest plenty of alternatives, such as older versions of pkzip, or arj, or lha or any number of other archivers/splitters. – Karan – 2013-07-19T18:27:39.523

@Tarkenfire I've used the version I mentioned in DOS 4, 5, and 6, so I doubt you'll have any troubles. – Tom A – 2013-07-19T18:33:48.527

1Getting the data off the floppy shouldn't be too hard; USB floppy drives are pretty cheap. – Aaron Miller – 2013-07-19T19:24:47.590

I used pkzip 2.04g and did not have any problems with MS-DOS 4.x or 5.x – Warren P – 2013-07-19T19:42:39.010

Accepted because of the new foibles involving the lawyer delaying me from doing this damn thing and this being the best answer of them all. – Tarkenfire – 2013-07-20T16:39:41.630

Remember stopping before zipping to start it again when the maintenance ended. – 174140 – 2013-07-20T20:15:53.690

5Just to update, pkzip worked like a charm; it compressed a ~3000kb file to around 300kb, probably because it was a space-delineated text file with 2700kb of whitespace... – Tarkenfire – 2013-07-25T00:38:29.723

@Tarkenfire Glad it worked so well for you. – Tom A – 2013-07-25T14:14:00.000

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.

Ilmari Karonen

Posted 2013-07-19T15:13:36.533

Reputation: 1 509

IIRC, the chunks can be reassembled using the binary flag and dos copy e.g. copy /b foo_1.chunk + /b foo_2.chunk {...}. I cannot recall whether or not the Dos 5 version of copy has the binary flag ... – horatio – 2013-07-19T21:05:26.563

1also, if you open for binary and read/write using get and put, you have no "magic character issues" – horatio – 2013-07-19T21:07:20.710

@horatio: Thanks for the tip. It also turns out to be a lot faster (although I suspect that the difference may be negligible when writing to real floppies). – Ilmari Karonen – 2013-07-19T21:34:46.057

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

Posted 2013-07-19T15:13:36.533

Reputation: 2 623

1Telix was a really nice program, and I also remember using Terminate. Wonder if you ever used that? I miss my favourite BBSes and USR modem sometimes. Remember being obsessed with creating animated ASCII art once upon a time! – Karan – 2013-07-19T19:51:28.547

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

JohnP

Posted 2013-07-19T15:13:36.533

Reputation: 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

Posted 2013-07-19T15:13:36.533

Reputation: 756

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.

Nicholas Hill

Posted 2013-07-19T15:13:36.533

Reputation: 121

3I tried the two editors I could find on the system, but they both threw "ran out of memory" errors at me, I assume because they attempted to load the 3MB file all into memory at the same time. – Tarkenfire – 2013-07-19T16:45:06.990

I wouldn't use an editor, but i think some arguments to XCOPY, MORE or maybe even TYPE could allow you to crudely split the file. (of course, PKZIP is much easier and almost guaranteed to work, but this could be a fun try) – Javier – 2013-07-19T19:08:46.970

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.

キキジキ

Posted 2013-07-19T15:13:36.533

Reputation: 179

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?

Árni St. Sigurðsson

Posted 2013-07-19T15:13:36.533

Reputation: 121

1

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

Keltari

Posted 2013-07-19T15:13:36.533

Reputation: 57 019

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

Cavemanharris

Posted 2013-07-19T15:13:36.533

Reputation: 11

Modern PCs wouldn't even have a serial port, let alone a parallel port, but I guess with a USB-to-serial adaptor, laplink would be a good idea. A lot easier way to transfer a whole hard disk's content or a whole folder's content, than the Telix+ZMODEM idea, but is this approach technically LEGAL? "LapLink" the brand is still around, and maybe they don't like people downloading their DOS stuff. – Warren P – 2013-07-25T16:52:22.877