56

Как часть юридического учета, юристы моего отца по бизнесу запросили копию базы данных клиентов с рабочего компьютера. Основная проблема заключается в том, что этот рабочий компьютер - примерно AOpen 1988 года, работает под управлением модифицированной версии DOS 5.0.

Я очень слаб в реальной MS-DOS и старом оборудовании в целом, но после некоторых недоразумений я наконец нашел файл, который нужен юристу. Проблема заключается в том, что клиентская "база данных" (читай: текстовый файл с разделителями-пробелами) имеет размер ~ 3 МБ. Это слишком велико для одной дискеты, и данные находятся в одном файле, что, из-за моих очень ограниченных знаний о реальном DOS, помешало бы мне разбить их на встроенные программы на компьютере.

Проверяя заднюю часть компьютера, я заметил 1 встроенный последовательный порт, параллельный порт в слоте расширения и несколько необъяснимо NIC с разъемом в нем, слишком большим, чтобы быть RJ-11. Я не проверял, действительно ли это RJ-45, потому что у меня не было удобного Ethernet-кабеля в то время. Тем не менее, два программных файла, которые я использовал бы (согласно моим исследованиям) для использования серийного номера, нигде не найдены на компьютере. Кроме того, я не имею ни малейшего представления, что бы я сделал, чтобы использовать NIC.

Помимо осложнений, простое извлечение жесткого диска должно быть отнесено к последнему средству, поскольку компьютер (который старше меня) используется для повседневных деловых операций и должен быть отключен на 1 день из-за расстояния между компьютер и я, который "клиент" не особо хочет.

Итак, суть моего вопроса в том, что с моим почти отсутствующим навыком в DOS (я случайно испортил одну из "баз данных" и был бы в плохом состоянии, если бы я не сделал резервную копию заранее), есть ли простой способ Могу ли я использовать вышеупомянутые ресурсы (или что-то еще, чего я не знаю о DOS), чтобы вытащить файл размером 3 мегабайта с компьютера без извлечения жесткого диска?

10 ответов10

54

Попробуйте использовать PKZip. Это старая утилита DOS, которая предоставляла некоторые из самых ранних возможностей zip-файлов. Вы должны иметь возможность загрузить его по адресу http://wiki.oldos.org/Downloads/MSDOS. Если база данных представляет собой текстовый файл, то PKZip должен позволить вам сжать достаточно, чтобы попасть на дискету, или, если нет, тогда он должен разрешить охват нескольких дисков. В этот момент ваша главная проблема - перейти с дискеты на более современный компьютер. Я не помню синтаксис для PKZip, но я помню, что в него встроена очень хорошая справка, чтобы показать вам, как именно архивировать и разархивировать файлы. Я рекомендую версию 2.04g из загрузок, так как она многие годы считалась лучшей версией.

17

На компьютере установлен QBasic ? Если это так, вы можете написать простой разделитель файлов, например:

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

Это разделит вашу базу данных на куски по 1,3 МБ, которые должны удобно размещаться на дискете 1,44 МБ даже после учета накладных расходов FAT.

Редактировать: вот обновленная версия, использующая бинарный ввод / вывод, которая работает намного быстрее, не имеет проблем с символами Ctrl-Z и правильно обрабатывает входные файлы, размер которых не кратен размеру буфера. Я протестировал его в DOSBox, и он правильно разделил 3-мегабайтный файл случайных байтов на куски.

10

Это всего 3 мегабайта, так что использование PKZIP с охватом было бы самым простым решением, как говорили другие. тем не мение

Если у вас возникла такая проблема и дисковод гибких дисков НЕ работал, использовать последовательный порт было бы довольно просто.

Чтобы использовать последовательный порт, вам нужна программа терминала DOS, и вы должны запустить ее, а затем использовать протокол, такой как ZMODEM, для передачи файла со скоростью 115 кбит / с, что должно занять менее 5 минут при скорости 115200 кбит / с.

На вашем ноутбуке или любом другом современном ПК вам понадобится адаптер USB-последовательный порт, нуль-модемный кабель и терминальная программа, поддерживающая тот же протокол передачи файлов. Эти кабели должны стоить вам около 5 долларов каждый в большинстве приличных компьютерных магазинов.

Лучшая терминальная программа MS-DOS, которую я когда-либо использовал, называлась Telix версии 3.12.

9

PKZIP поддерживает работу с несколькими дискетами, и Lenovo имеет совместимое с DOS приложение под названием CHOPPER, которое также выполнит это.

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

Переключатель pkzip для охвата диска (из документации):

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

3

Адвокат четко указал, что база данных должна быть предоставлена в электронном формате?
Если нет, и если к этой критически важной системе подключен функциональный (матричный) принтер, вы можете распечатать текстовый файл с помощью команды печати DOS.
Например:

печать c:\file.txt /c /d:lpt1

Предполагая, что скорость принтера составляет 100 л / мин (~ 2,5 стр / мин) и 750 страниц текста (примерное количество в текстовом файле 3 Мбайт согласно этому калькулятору), вы сможете создать полную копию примерно за 5 часов.

2

Возможно, вы могли бы разделить текстовый файл вручную, используя инструменты, уже присутствующие в DOS, и рекомбинировать их на целевом компьютере? Поскольку это все ASCII, сделать это будет намного проще, чем пытаться разбить двоичный файл.

2

я нашел

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

изменить: чтобы загрузить его, Google SPLITV10.ZIP

а также

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

Может быть, вы можете разделить файл на 2-3 части и копировать по одному фрагменту за раз.

2

До хвалебных дней повсеместного использования USB-чипов и сетевых карт в каждом компьютере я помню, как с любовью подключал два компьютера с последовательными и параллельными кабелями для крупномасштабной передачи данных.

Мне приходилось гуглить самый удобный метод в нынешнем возрасте, но он выглядит примерно так, как я помню.

File Maven - это утилита для передачи файлов, которая позволяет вам осуществлять передачу по последовательному или параллельному кабелю. Вероятно, у вас больше ничего нет с последовательным портом вокруг, поэтому адаптер последовательного порта к USB позволит вам подключиться к современным технологиям.

Этот кабель может нуждаться в адаптере смены пола, я забыл, какая часть была на компьютере.

Я хочу встать и приветствовать аплодисменты того производителя, который отвечал за жесткий диск. 25-летний HDD все еще работает. Можете ли вы представить, что современные диски SATA все еще работают в 2038 году?

1

Вы всегда можете найти 25-контактный диск Zip/Jaz на Craigslist или Ebay. Тем не менее, есть лучшие методы, чем это. :)

1

Как насчет попытки найти старую версию Laplink, когда клиент является новой версией, запущенной на ПК, на котором вы хотите эти данные. Программное обеспечение доступно здесь: http://www.briggsoft.com/fmdos.htm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .