Передача "великого" файлу з машини MS-DOS 5.0 (без видалення жорсткого диска)


55

В рамках якоїсь юридичної діловодства ділові адвокати мого батька попросили копію бази даних клієнтів з робочого комп'ютера. Основна проблема полягає в тому, що цей робочий комп'ютер - це близько 1988 року AOpen ..., що працює як модифікована версія DOS 5.0.

Я дуже слабкий з реальними MS-DOS та загалом старішими апаратними засобами, але після деякої мізерної роботи я нарешті знайшов файл, який потрібен юристу. Виникає питання, що клієнтська "база даних" (читайте: текстовий файл з обмеженим простором) становить ~ 3 Мб. Це занадто велика кількість для однієї дискети, і дані є в одному файлі, що, наскільки я дуже знаю фактичного DOS, не дозволить мені розділити його на вбудовані програми на комп'ютері.

Перевіряючи задню частину комп’ютера, я зазначив 1 вбудований послідовний порт, паралельний порт у слоті для розширення, і дещо незрозуміло, NIC з гніздом у ньому занадто великий, щоб бути RJ-11. Я не перевіряв, чи це насправді RJ-45, оскільки в той час у мене не було зручного кабелю Ethernet. Однак двох програмних файлів, які я б використовував (згідно з моїми дослідженнями) для використання послідовного файлу, ніде не знайдено на комп'ютері. Крім того, я не маю ні найменшої ідеї, що б я зробив для використання NIC.

Крім того, що ускладнює проблеми, просто витягнення жорсткого диска потрібно перенести в крайньому випадку, оскільки комп'ютер (який старший за мене) використовується для щоденних бізнес-операцій, і його потрібно буде зняти в автономному режимі близько 1 дня через відстань між комп’ютер і я, яких «клієнт» не особливо хоче.

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


13
Найпростішим рішенням буде просто схопити останню повну резервну копію. Не кажіть мені, що критичний файл місії не створюється в режимі резервного копіювання і живе на машині, що належить до інтернату.
emory

14
+1 за dosналежне використання тегу!
CVn

13
tbh, це має бути дзвінок для неспання. Якщо вони не можуть пощадити комп’ютер на короткий час, оскільки він щоденно користується, що вони робитимуть, коли він перестане працювати і втрачає всі свої дані? Чим довше вони залишають його, тим більше шансів на те, що це станеться. Скористайтеся можливістю підштовхнути їх до оновлення та робити регулярні резервні копії (які потім можна легко скопіювати та надіслати адвокату)
JamesRyan

3
Мені просто погано почувається поганий хлопець, що використовує
досбокс

2
"Комп'ютер (який старший за мене) використовується для щоденних бізнес-операцій": ця фраза змусила мене тремтіти.
Той бразильський хлопець

Відповіді:


53

Спробуйте скористатися PKZip. Це стара утиліта DOS, яка забезпечила деякі найдавніші можливості ZIP-файлів. Ви можете мати можливість завантажити його на веб- сайті http://wiki.oldos.org/Downloads/MSDOS . Якщо база даних є текстовим файлом, то PKZip повинен дозволяти вам стискати достатньо, щоб потрапити на дискету, а якщо ні, то вона повинна дозволяти охоплювати декілька дисків. У цей момент ваша основна проблема - це потрапляння з дискети на більш сучасний комп'ютер. Я не пам’ятаю синтаксис для PKZip, але пам’ятаю, що в ньому є дуже добра допомога, вбудована, щоб точно показати вам, як створювати та розпаковувати файли. Я рекомендую для завантаження версію 2,04 г, тому що вона вважалася найкращою версією протягом багатьох років.


12
Навіть якщо ви не можете стиснути його достатньо, щоб вміститися на одній дискеті, ви повинні мати можливість створити набір набір поштових файлів.
daxlerod

2
якщо його чистий текст, він повинен стискатися досить добре
Келтарі

24
@Tarkenfire: Все в DOS не є простим текстом! Як існували б програми, не кажучи вже практично про кожен формат бінарних файлів?
Каран

1
Вилучення даних з дискети не повинно бути занадто важким; USB-дискети досить дешеві.
Аарон Міллер

5
Просто для оновлення, pkzip працював як шарм; він стиснув файл ~ 3000 кб приблизно 300 кбіт, ймовірно, тому, що це текстовий файл з пробілом з 2700 кб пробілу ...
Tarkenfire

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 Мб файл випадкових байтів на шматки.


IIRC, шматки можуть бути зібрані за допомогою двійкового прапора і копії дос, наприклад copy /b foo_1.chunk + /b foo_2.chunk {...}. Я не можу пригадати, чи має версія копії Dos 5 бінарний прапор ...
horatio

1
також, якщо ви open for binaryчитаєте / пишете, використовуючи getі put, у вас немає "проблем із магічними символами"
horatio

@horatio: Дякую за пораду. Це також виявляється набагато швидше (хоча я підозрюю, що різниця може бути незначною при написанні на справжні дискети).
Ільмарі Каронен

10

Це лише 3 меги, тож використання PKZIP з прольотом було б найпростішим рішенням, як говорили інші. Однак

Якщо б у вас виникли такі проблеми, а дискета НЕ працювала, використовувати послідовний порт буде досить просто.

Для використання послідовного порту вам потрібна термінальна програма DOS, і ви запустили б її тоді, використовуючи такий протокол, як ZMODEM, для передачі файлу зі швидкістю 115 кбіт / с, що займе менше 5 хвилин при 115200 кбіт / с.

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

Найкраща термінальна програма MS-DOS, яку я коли-небудь використовував, називалася Telix версія 3.12.


1
Telix була дійсно приємною програмою, і я також пам’ятаю, що використовую Terminate. Цікаво, чи ти колись цим користувався? Іноді я сумую за улюбленими модемами BBSes та USR. Пам'ятайте, що колись одержимий створенням анімованого мистецтва ASCII!
Каран

8

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 .
Наприклад:

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

Якщо припустити швидкість принтера в 100 л / хв (~ 2,5 проміле) і 750 сторінок тексту (орієнтовна кількість у текстовому файлі 3 Мб відповідно до цього калькулятора ), то ви зможете створити повну копію приблизно за 5 годин.


2

Можливо, ви могли розділити текстовий файл вручну, використовуючи інструменти, вже наявні в DOS, і комбінувати їх у цільовому комп'ютері? Оскільки це все ASCII, зробити це потрібно набагато простіше, ніж намагатися розділити двійковий файл.


3
Я спробував два редактори, які я міг знайти в системі, але вони обидва кинули на мене помилки "втратило пам'ять", я вважаю, тому що вони намагалися одночасно завантажити 3MB-файл у пам'ять.
Tarkenfire

Я б не використовував редактор, але я думаю, що деякі аргументи до XCOPY, БІЛЬШЕ або, можливо, навіть TYPE можуть дозволити вам грубо розділити файл. (звичайно, PKZIP набагато простіше і майже гарантовано працювати, але це може бути весела спроба)
Хав'єр


2

Перед похвальними днями всюдисущих мікросхем USB та NIC на кожному комп’ютері я пам’ятаю, що приємно підключив два комп’ютери послідовними та паралельними кабелями для широкомасштабної передачі даних.

Мені довелося гуглювати найзручнішим методом у нинішньому віці, але він схожий на те, що я пам’ятаю.

File Maven - це утиліта для передачі файлів, яка дозволяє робити передачі послідовним або паралельним кабелем. Ви, мабуть, більше не маєте нічого з послідовним портом, тож адаптер послідовного переходу до usb надасть вам зв'язок із сучасними технологіями.

Цей кабель може знадобитися адаптеру для зміни статі, я забуваю, яку частину ПК мав.

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


1

Ви завжди можете знайти 25-контактний привід Zip / Jaz в Craigslist або ebay. Однак є кращі методи, ніж цей. :)


1

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


Сучасні ПК навіть не мали б послідовного порту, не кажучи вже про паралельний порт, але, мабуть, за допомогою USB-до-послідовного адаптера, лінкінг буде гарною ідеєю. Набагато простіший спосіб передати вміст усього жорсткого диска або вміст цілої папки, ніж ідея Telix + ZMODEM, але чи такий підхід технічно ЛЕГАЛЬНИЙ? Бренд "LapLink" все ще існує, і, можливо, їм не подобається, що люди завантажують свої DOS-матеріали.
Warren P
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.