55 votos

Transferencia de archivos "grandes" de MS-DOS 5.0 máquina (sin quitar el disco duro)

Como parte de algún tipo de registro legal de mantenimiento de la cosa, los negocios de mi padre abogados ha solicitado una copia de la base de datos de clientes de un equipo de trabajo. El principal problema es que este equipo de trabajo es un circa 1988 AOpen...cosa, la ejecución de lo que parece ser una versión modificada de DOS 5.0.

Estoy muy débil con MS-DOS, y los mayores de hardware en general, pero después de algunos fuddling alrededor por fin he encontrado el archivo que el abogado sea necesario. El problema viene de que el cliente "base de datos" (leer: el espacio de archivo de texto delimitado) es ~3MB grande. Esto es demasiado para un solo disquete, y los datos están en un archivo único, lo que, a mi conocimiento muy limitado de DOS reales, me imposibilitara la división con el construido-en los programas en el ordenador.

Comprobar la parte posterior del equipo, he tomado nota de 1 built-in puerto serie, un puerto paralelo en una ranura de expansión, y un tanto inexplicablemente, una NIC con un conector de entrada es demasiado grande para ser RJ-11. Yo no la prueba de si realmente era un conector RJ-45 como no tengo un cable ethernet a mano en el momento. Sin embargo, los dos archivos de programa que yo habría usado (de acuerdo a mi investigación) para el uso de la serie están en ninguna parte ser encontrado en el equipo. Además, no tengo la menor idea de lo que iba a hacer para aprovechar la NIC.

Además de complicar los problemas, sólo tirando el disco duro tiene que ser relegado a un último recurso, ya que el equipo (que es mayor que yo) se utiliza para las operaciones diarias del negocio y tendría que estar fuera de línea por alrededor de 1 día, debido a la distancia entre el equipo y para mí, que el "cliente" no todo quieren.

Así que el quid de mi pregunta es, con mi casi no existe la habilidad de DOS en DOS (se me ha dañado una de las "bases de datos", y habría sido de mala forma si no hice una copia de seguridad de antemano), hay una forma sencilla puedo aprovechar los mencionados activos (o algo más, yo no sé acerca de DOS) para obtener este 3 megas de archivos de la computadora sin tener que sacar el disco duro?

53voto

Rimantas Puntos 826

Trate de usar PKZip. Se trata de un viejo programa de utilidad de DOS que proporcionan algunos de los primeros archivo zip de la capacidad. Usted debe ser capaz de descargar en http://wiki.oldos.org/Downloads/MSDOS. Si la base de datos es un archivo de texto, a continuación, PKZip debe dejar de comprimir lo suficiente como para obtener en un disquete, o si no, entonces se debe permitir que abarca de varios discos. En ese momento, su principal problema es conseguir que desde el disquete en un sistema más moderno equipo. No recuerdo la sintaxis para PKZip, pero sí recuerdo que tiene muy buena ayuda, construido en el a mostrar exactamente cómo comprimir y descomprimir archivos. Recomiendo la versión 2.04 g de las descargas, ya que fue considerada como la mejor versión durante muchos años.

17voto

Ilmari Karonen Puntos 1165

¿El equipo tiene QBasic instalado? Si es así, usted podría ser capaz de escribir un simple divisor de archivos en ella, algo como esto:

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

Esta se divide a su base de datos en trozos de 1.3 MB, que debe caber cómodamente en un disquete de 1,44 MB, incluso después de tener en cuenta que la GRASA se sobrecarga.

Edit: Aquí está una versión actualizada el uso de I/O binario, que se ejecuta mucho más rápido, no tiene problemas con Ctrl-Z y maneja correctamente los archivos de entrada cuyo tamaño no es un múltiplo del tamaño de búfer. Lo he probado bajo DOSBox, y bien dividida de 3 MB de un archivo de bytes aleatorios en trozos.

10voto

El Yobo Puntos 300

Está a sólo a 3 megas, por lo que el uso de un PKZIP con abarcan sería la solución más fácil, como otros han dicho. Sin embargo

Si usted tuvo un problema y la unidad de disquete NO trabajo, utilizando el puerto serie que iba a ser bastante fácil.

Para usar un puerto serie, se necesita un terminal DOS del programa y ejecutarlo, a continuación, utilizar un protocolo ZMODEM, para transferir el archivo a 115kbps, que le llevará menos de 5 minutos a 115200 kbps.

En su computadora portátil, o cualquier otro PC moderno, que se necesita un USB-a-serial adaptador y un cable de módem nulo, y un programa de terminal server que admite el mismo protocolo de transferencia de archivos. Estos cables deben le costará alrededor de $5 cada uno en más decente de las tiendas de informática.

El mejor de MS-DOS de la terminal de programa que he utilizado se llama Telix versión 3.12.

8voto

Adam Rabung Puntos 3014

PKZIP admite que abarca múltiples disquetes y Lenovo tiene una aplicación compatible de DOS llamado CHOPPER que también consigue esto.

http://support.Lenovo.com/en_US/Research/hints-or-Tips/detail.Page?LegacyDocID=DSHY-44QSCB

El interruptor de pkzip para la concatenación de discos (de documentos):

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

3voto

gm2 Puntos 605

Lo hizo el fiscal de especificar explícitamente que la base de datos deberán presentarse en formato electrónico?
Si no, y si este sistema de misión crítica tiene un funcional (matriz de punto) impresora conectada se puede imprimir el archivo de texto con los DOS comando de impresión.
Por ejemplo:

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

Suponiendo que la velocidad de la impresora de 100 lpm (~2.5 ppm) y 750 páginas de texto (cantidad estimada en 3 mb archivo de texto de acuerdo con esta calculadora), entonces usted debería ser capaz de producir una copia completa en aproximadamente 5 horas.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: