Chuyển tập tin lớn trên đường ra khỏi máy MS-DOS 5.0 (không xóa ổ cứng)


55

Là một phần của một số điều lưu giữ hồ sơ pháp lý, luật sư kinh doanh của cha tôi đã yêu cầu một bản sao cơ sở dữ liệu của khách hàng từ một máy tính làm việc. Vấn đề cốt lõi là máy tính làm việc này là một chiếc AOpen vào khoảng năm 1988, chạy những gì có vẻ là phiên bản sửa đổi của DOS 5.0.

Tôi rất yếu với MS-DOS thực tế và phần cứng cũ hơn nói chung, nhưng sau một vài lần loay hoay, cuối cùng tôi cũng tìm thấy tập tin mà luật sư cần. Vấn đề là "cơ sở dữ liệu" của khách hàng (đọc: tệp văn bản được phân tách bằng dấu cách) có dung lượng lớn ~ 3MB. Điều này quá lớn đối với một đĩa mềm và dữ liệu nằm trong một tệp duy nhất, theo hiểu biết rất hạn chế của tôi về DOS thực tế, sẽ ngăn cản tôi chia nó với các chương trình tích hợp trên máy tính.

Kiểm tra mặt sau của máy tính, tôi lưu ý 1 cổng nối tiếp tích hợp, một cổng song song trong khe cắm mở rộng và hơi khó hiểu, một NIC có giắc cắm quá lớn so với RJ-11. Tôi đã không kiểm tra xem nó có thực sự là một chiếc RJ-45 hay không vì lúc đó tôi không có cáp ethernet. Tuy nhiên, hai tệp chương trình mà tôi đã sử dụng (theo nghiên cứu của tôi) để sử dụng nối tiếp không có ở đâu trên máy tính. Hơn nữa, tôi không biết mình sẽ làm gì để tận dụng NIC.

Hơn nữa, các vấn đề phức tạp hơn, chỉ cần kéo ổ cứng phải xuống hạng cuối cùng, vì máy tính (cũ hơn tôi) được sử dụng cho các hoạt động kinh doanh hàng ngày và sẽ phải ngoại tuyến trong khoảng 1 ngày do khoảng cách giữa máy tính và tôi, thứ mà "khách hàng" không đặc biệt muốn.

Vì vậy, mấu chốt của câu hỏi của tôi là, với kỹ năng gần như không có trong DOS của tôi (tôi đã vô tình làm hỏng một trong những "cơ sở dữ liệu", và sẽ ở trong tình trạng xấu nếu tôi không tạo bản sao lưu trước đó), có một cách đơn giản Tôi có thể tận dụng các tài sản được đề cập ở trên (hoặc một cái gì khác mà tôi không biết về DOS) để loại bỏ tệp 3 meg này khỏi máy tính mà không cần rút ổ cứng?


13
Giải pháp đơn giản nhất là chỉ cần lấy bản sao lưu đầy đủ mới nhất. Đừng nói với tôi rằng tập tin quan trọng của nhiệm vụ này không được sao lưu và sống trên một cỗ máy thuộc về nhà nghỉ hưu.
emory

14
+1 để sử dụng dosthẻ đúng cách!
một CVn

13
Đây là một cuộc gọi báo thức. Nếu họ không thể sử dụng máy tính trong một thời gian ngắn vì nó đang được sử dụng hàng ngày thì họ sẽ làm gì khi nó bị hỏng và mất tất cả dữ liệu của họ? Họ để nó càng lâu, điều này càng có khả năng xảy ra. Tận dụng cơ hội để thúc đẩy họ nâng cấp và tạo bản sao lưu thường xuyên (sau đó có thể dễ dàng sao chép và gửi cho luật sư)
JamesRyan

3
Tôi chỉ cảm thấy tồi tệ cho anh chàng tội nghiệp khi sử dụng
dosbox

2
"Máy tính (cũ hơn tôi) được sử dụng cho các hoạt động kinh doanh hàng ngày": cụm từ này khiến tôi rùng mình.
chàng người Brazil đó

Câu trả lời:


53

Hãy thử sử dụng PKZip. Đây là một tiện ích DOS cũ cung cấp một số khả năng tệp zip sớm nhất. Bạn có thể tải xuống tại http://wiki.oldos.org/Doads/MSDOS . Nếu cơ sở dữ liệu là một tệp văn bản, thì PKZip sẽ cho phép bạn nén đủ để vào một đĩa mềm, hoặc nếu không, thì nó sẽ cho phép kéo dài nhiều đĩa. Tại thời điểm đó, vấn đề chính của bạn là chuyển từ đĩa mềm sang máy tính hiện đại hơn. Tôi không nhớ cú pháp cho PKZip, nhưng tôi nhớ rằng nó có trợ giúp rất tốt được tích hợp để chỉ cho bạn chính xác cách nén và giải nén tệp. Tôi khuyên dùng phiên bản 2.04g từ các bản tải xuống vì nó được coi là phiên bản tốt nhất trong nhiều năm.


12
Ngay cả khi bạn không thể nén nó đủ để vừa với một đĩa mềm, bạn vẫn có thể tạo một tập các tệp zip được kéo dài.
daxlerod

2
nếu văn bản thuần túy của nó, nó sẽ nén khá tốt
Keltari

24
@Tarkenfire: Mọi thứ trên DOS không phải là văn bản đơn giản! Làm thế nào các chương trình tồn tại, không đề cập đến hầu như mọi định dạng tệp nhị phân?
Karan

1
Lấy dữ liệu ra khỏi đĩa mềm không quá khó; Ổ đĩa mềm USB khá rẻ.
Aaron Miller

5
Chỉ cần cập nhật, pkzip hoạt động như một lá bùa; nó đã nén một tệp ~ 3000kb xuống còn khoảng 300kb, có lẽ vì đó là tệp văn bản được phân định không gian với 2700kb khoảng trắng ...
Tarkenfire

17

Máy tính có cài đặt QBasic không? Nếu vậy, bạn có thể viết một bộ chia tệp đơn giản trong đó, đại loại như thế này:

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

Điều này sẽ phân chia cơ sở dữ liệu của bạn thành các khối 1,3 MB, phù hợp thoải mái trên đĩa mềm 1,44 MB ngay cả sau khi tính toán chi phí FAT.

Chỉnh sửa: Đây là phiên bản cập nhật sử dụng I / O nhị phân, chạy nhanh hơn rất nhiều, không gặp vấn đề với các ký tự Ctrl-Z và xử lý chính xác các tệp đầu vào có kích thước không phải là bội số của kích thước bộ đệm. Tôi đã kiểm tra nó trong DOSBox và nó đã phân chia chính xác một tệp 3 MB byte ngẫu nhiên thành các khối.


IIRC, các đoạn có thể được ghép lại bằng cách sử dụng cờ nhị phân và sao chép dos, ví dụ copy /b foo_1.chunk + /b foo_2.chunk {...}. Tôi không thể nhớ liệu phiên bản Dos 5 có cờ nhị phân hay không ...
horatio

1
Ngoài ra, nếu bạn open for binaryvà đọc / viết bằng cách sử dụng getput, bạn không có "vấn đề về nhân vật ma thuật"
horatio

@horatio: Cảm ơn vì tiền boa. Nó cũng hóa ra nhanh hơn rất nhiều (mặc dù tôi nghi ngờ rằng sự khác biệt có thể không đáng kể khi viết lên đĩa mềm thực sự).
Ilmari Karonen

10

Nó chỉ có 3 megs, vì vậy sử dụng PKZIP với khoảng cách sẽ là giải pháp dễ nhất, như những người khác đã nói. Tuy nhiên

Nếu bạn gặp vấn đề như vậy và ổ đĩa mềm KHÔNG hoạt động, sử dụng cổng nối tiếp sẽ khá dễ dàng.

Để sử dụng cổng nối tiếp, bạn cần có chương trình thiết bị đầu cuối DOS và bạn sẽ chạy nó sau đó sử dụng giao thức như ZMODEM, để truyền tệp ở tốc độ 115kb / giây, sẽ mất ít hơn 5 phút ở tốc độ 115200 kbps.

Trên máy tính xách tay của bạn, hoặc bất kỳ PC hiện đại nào khác, bạn sẽ cần bộ chuyển đổi nối tiếp USB và cáp modem null và chương trình đầu cuối hỗ trợ cùng một giao thức truyền tệp. Những dây cáp này sẽ đặt lại cho bạn khoảng 5 đô la mỗi cái tại hầu hết các cửa hàng máy tính đàng hoàng.

Chương trình thiết bị đầu cuối MS-DOS tốt nhất tôi từng sử dụng được gọi là Telix phiên bản 3.12.


1
Telix là một chương trình thực sự hay và tôi cũng nhớ sử dụng Terminating. Tự hỏi nếu bạn đã từng sử dụng nó? Đôi khi tôi nhớ modem BBSes và USR yêu thích của tôi. Hãy nhớ rằng bị ám ảnh với việc tạo ra nghệ thuật ASCII hoạt hình một thời!
Karan

8

PKZIP hỗ trợ mở rộng nhiều đĩa mềm và Lenovo có một ứng dụng tương thích với DOS có tên CHOPPER cũng sẽ thực hiện điều này.

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

Công tắc pkzip để mở rộng ổ đĩa (từ tài liệu):

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

Luật sư có chỉ định rõ ràng rằng cơ sở dữ liệu được cung cấp ở định dạng điện tử không?
Nếu không, và nếu hệ thống quan trọng nhiệm vụ này có máy in chức năng (ma trận điểm) đi kèm, bạn có thể in tệp văn bản bằng lệnh in DOS .
Ví dụ:

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

Giả sử tốc độ máy in là 100 lpm (~ 2,5 ppm) và 750 trang văn bản (số lượng ước tính trong tệp văn bản 3Mb theo máy tính này ), thì bạn sẽ có thể tạo một bản sao hoàn chỉnh trong khoảng 5 giờ.


2

Có lẽ bạn có thể tách tệp văn bản theo cách thủ công bằng cách sử dụng các công cụ đã có trong DOS và kết hợp lại chúng trong máy tính đích? Bởi vì đó là tất cả ASCII, nên việc này sẽ dễ dàng hơn rất nhiều so với việc cố gắng tách một tệp nhị phân.


3
Tôi đã thử hai trình soạn thảo mà tôi có thể tìm thấy trên hệ thống, nhưng cả hai đều ném lỗi "hết bộ nhớ" cho tôi, tôi cho rằng vì họ đã cố tải tất cả tệp 3MB vào bộ nhớ cùng một lúc.
Tarkenfire

Tôi sẽ không sử dụng trình chỉnh sửa, nhưng tôi nghĩ rằng một số đối số cho XCOPY, THÊM hoặc thậm chí TYPE có thể cho phép bạn phân tách tệp một cách thô bạo. (tất nhiên, PKZIP dễ dàng hơn nhiều và gần như được đảm bảo để hoạt động, nhưng đây có thể là một thử nghiệm thú vị)
Javier


2

Trước những ngày được khoe khoang của các chip USB có mặt ở khắp mọi nơi và một NIC trong mọi máy tính, tôi nhớ rằng đã nối hai máy tính với cáp nối tiếp và song song để truyền dữ liệu quy mô lớn.

Tôi đã phải google phương pháp thuận tiện nhất trong thời đại hiện tại, nhưng nó trông giống với những gì tôi nhớ.

File Maven là một tiện ích tranfer tệp cho phép bạn thực hiện chuyển qua cáp nối tiếp hoặc song song. Bạn có thể không còn bất cứ điều gì khác với một cổng nối tiếp xung quanh nữa, vì vậy bộ chuyển đổi nối tiếp sang usb sẽ cung cấp cho bạn kết nối với công nghệ hiện đại.

Cáp này có thể cần một bộ chuyển đổi giới tính, tôi quên phần PC đã có.

Tôi muốn đứng lên và dành một tràng pháo tay lớn cho bất kỳ nhà sản xuất nào chịu trách nhiệm cho ổ cứng. HDD 25 tuổi vẫn chạy. Bạn có thể tưởng tượng các ổ đĩa SATA ngày nay vẫn chạy vào năm 2038 không?


1

Bạn luôn có thể tìm thấy ổ Zip / Jaz 25 pin trên craigslist hoặc ebay. Tuy nhiên, có những phương pháp tốt hơn thế này. :)


1

Còn về việc cố gắng tìm phiên bản Laplink cũ, với máy khách là phiên bản mới chạy trên PC mà bạn muốn có dữ liệu đó. Phần mềm có sẵn tại đây: http://www.briggsoft.com/fmdos.htm


Các PC hiện đại thậm chí sẽ không có cổng nối tiếp, chứ chưa nói đến cổng song song, nhưng tôi đoán với bộ chuyển đổi USB sang nối tiếp, laplink sẽ là một ý tưởng hay. Cách dễ dàng hơn nhiều để chuyển toàn bộ nội dung của đĩa cứng hoặc toàn bộ nội dung của thư mục, so với ý tưởng Telix + ZMODEM, nhưng cách tiếp cận này về mặt kỹ thuật có hợp lý không? "LapLink" thương hiệu vẫn còn, và có lẽ họ không thích mọi người tải xuống công cụ DOS của họ.
Warren P
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.