I did something like this a few years back, so my memory will be kinda hazy...
First, NEVER use "type" to transfer files, as it truncates the high-order bit to give you ASCII. This results in a bad file. Rather, use the copy command:
C:\> SET COM1:,9600,N,8,1,X
(you can substitute higher values for the baud rate of 9600)
C:\> COPY filename >COM1:
I'm thinking that the type command has a "/b" (binary) option, but I haven't played with an MS-DOS system for so long...
Also, I just used a "Laplink" cable, which has both 25 and 9 pin connectors on each end, and is supported by Window's "Direct Cable Connection" feature. Also, it has the RTS/CTS wired up, so that option will give you faster transfers.
FYI: When using three-wire serial cables, the sender and receiver need to know when to stop and go. So, they use the Xon/Xoff codes to signal this, which takes time. Also, since there is no clocking signal, the two MUST have really good sync to understand each other, so nothing faster than 9600 is recommended. Alternately, using RTS/CTS allows the hardware to do the handshaking, which means low overhead for the data transfered, as well as higher speeds. The aforementioned connection I used above got transfers between an '030 A2000 and '486DX66 PC at 56Kbps.
On the Amiga side, just go into Prefs and set the serial to match the PC (example above is 9600 baud, 8 bits, 1 stop bit, No parity, RTS/CTS hardware handshaking). I used JRComm on the Amiga, and Telix on the PC to do this, since they both handle Z-Modem transfers back and forth with auto-challenge and negotiation. You could also use DCC or Hyperterminal on the PC.
Hope this helps anyone else looking or needing to do this.
banzai