“Büyük” dosyayı MS-DOS 5.0 Makinesinden aktarmak (HDD'yi kaldırmadan)


55

Bir tür yasal kayıt tutma işleminin bir parçası olarak, babamın ticari avukatları, bir iş bilgisayarından gelen müşteri veritabanının bir kopyasını istedi. Temel sorun, bu çalışma bilgisayarının, DOS 5.0'ın değiştirilmiş bir sürümünde çalıştığını gösteren yaklaşık 1988 AOpen ... olayı olmasıdır.

Asıl MS-DOS ve genel olarak eski donanım konusunda çok zayıfım, ancak bazı dolandırıcılıktan sonra nihayet avukatın ihtiyaç duyduğu dosyayı buldum. Sorun müşteri "veritabanı" (okuma: alanla ayrılmış metin dosyası) ~ 3 MB büyük olması geliyor. Bu, bir disket için çok büyük ve veriler tek bir dosyada, bu da gerçek DOS hakkındaki sınırlı bilgime göre, bilgisayardaki yerleşik programlarla bölmemi engelliyor.

Bilgisayarın arkasını kontrol ederken, 1 dahili seri portu, bir genişletme yuvasındaki paralel portu ve bir nevi açıklanamayan, içinde RJ-11 olacak kadar büyük bir girişi olan bir NIC notu aldım. Aslında bir RJ-45 olup olmadığını test etmedim çünkü o sırada kullanışlı bir ethernet kablosum yoktu. Bununla birlikte, seriyi kullanmak için kullanacağım iki program dosyası (araştırmama göre) bilgisayarda bulunabilecek bir yerde değil. Ayrıca, NIC’ten yararlanmak için ne yapacağım konusunda en ufak bir fikrim yok.

Üstelik karmaşık olan sorunlar, sadece HDD'yi çekmek son bir çare olarak belirlenmelidir, çünkü bilgisayar (benden daha eski) günlük iş operasyonları için kullanılır ve arasındaki mesafe nedeniyle yaklaşık 1 gün boyunca çevrimdışı duruma getirilir. "müşteri" nin özellikle istemediği bilgisayar ve ben.

Bu yüzden benim sorumun amacı, DOS'taki neredeyse hiç bir yeteneğim yok (yanlışlıkla "veritabanlarından" birini bozdum ve önceden yedekleme yapmasaydım kötü durumda olurdu), basit bir yol var. Bu 3 meg'lik dosyayı HDD'yi çekmeden bilgisayardan çıkarmak için yukarıda belirtilen varlıkları (ya da DOS hakkında bilmediğim bir şeyi) kaldırabilir miyim?


13
En kolay çözüm en yeni tam yedeklemeyi almak olacaktır. Bana söyleme, görev kritik dosyası yedeklenmiyor ve emeklilik evine ait bir makinede yaşıyor.
emory

14
Bir dosetiketi doğru kullanmak için + 1'leyin!
19:13

13
tbh bu bir uyandırma çağrısı olmalıdır. Bilgisayarı kısa bir süre için boşa harcayamazlarsa, günlük kullanımda oldukları için, bilgisayar kullanmaya çalıştıklarında ve tüm verilerini kaybettiklerinde ne yapacaklar? Ne kadar uzun süre bırakırlarsa, bunun gerçekleşmesi o kadar olası. Onları yükseltme ve düzenli yedekleme yapma fırsatını yakalayın (daha sonra kolayca kopyalanıp avukata gönderilebilir)
JamesRyan

3
1980'lerin günlük iş istasyonunu kullanan bir
dobox

2
“Bilgisayar (benden daha eski olan) günlük ticari işlemler için kullanılıyor”: bu ifade beni titretti.
Bu Brezilyalı Adam,

Yanıtlar:


53

PKZip kullanmayı deneyin. En eski zip dosyası özelliğinin bir kısmını sağlayan eski bir DOS yardımcı programıdır. Http://wiki.oldos.org/Downloads/MSDOS adresinden indirebilirsiniz . Eğer veritabanı bir metin dosyasıysa, PKZip diskete yetecek kadar sıkıştırmanıza izin vermeli ya da değilse, birden fazla diskin açılmasına izin vermelidir. Bu noktada asıl sorun, disketten daha modern bir bilgisayara geçmektir. PKZip'in sözdizimini hatırlamıyorum, ancak dosyaların tam olarak nasıl sıkıştırılacağını ve açılacağını göstermek için yerleşik yardımın çok iyi olduğunu hatırlıyorum. İndirmelerden evrensel olarak en iyi sürüm olarak kabul edilen 2.04g versiyonunu tavsiye ederim.


12
Tek bir diskete sığacak kadar sıkıştıramasanız bile, genişletilmiş bir zip dosyası kümesi oluşturabilmelisiniz.
daxlerod

2
eğer saf metni ise oldukça iyi sıkıştırmalı
Keltari

24
@Tarkenfire: DOS'taki her şey düz metin değildir! Neredeyse her ikili dosya biçiminden bahsetmek yerine, programlar nasıl var olur?
Karan

1
Disketten verileri almak çok zor olmamalı; USB disket sürücüleri oldukça ucuz.
Aaron Miller

5
Sadece güncellemek için, pkzip bir cazibe gibi çalıştı; yaklaşık 300kb'lık bir ~ 3000kb'lik bir dosyayı sıkıştırdı, muhtemelen 2700kb boşluklu bir boşlukla yazılmış metin dosyasıydı ...
Tarkenfire 0

17

Bilgisayarda QBasic kurulu mu? Öyleyse, içine basit bir dosya ayırıcı yazabilirsiniz:

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

Bu, veritabanınızı, FAT ek yükünün hesaplanmasından sonra bile 1.44 MB'lık bir diskete rahatça sığması gereken 1.3 MB'lik parçalara böler.

Düzenleme: İşte çok daha hızlı çalışan, ikili G / Ç kullanan güncellenmiş bir sürüm, Ctrl-Z karakterleriyle ilgili bir sorunu yok ve boyutu arabellek boyutunun katı olmayan girdi dosyalarını doğru şekilde kullanıyor. DOSBox altında test ettim ve 3 MB'lık bir rasgele bayt dosyasını parçalara ayırdım.


IIRC, topaklar, örneğin ikili bayrak ve dos kopyası kullanılarak tekrar birleştirilebilir copy /b foo_1.chunk + /b foo_2.chunk {...}. Dosyanın 5 versiyonunun ikili bayrağa sahip olup olmadığını hatırlayamıyorum ...
horatio 19.03.2013

1
Ayrıca eğer, open for binaryve okuma / yazma kullanarak getve put, hiçbir "sihirli karakter sorunları" var
Horatio'yu

@horatio: Tavsiyen için teşekkürler. Aynı zamanda çok daha hızlı olduğu ortaya çıktı (gerçek disketlere yazarken farkın önemsiz olabileceğinden şüphelenmeme rağmen).
Ilmari Karonen

10

Bu sadece 3 mega, yani yayılma ile bir PKZIP kullanmak, diğerlerinin söylediği gibi en kolay çözüm olacaktır. ancak

Böyle bir sorun yaşadıysanız ve disket sürücünüz çalışmadıysa, seri bağlantı noktasını kullanmak oldukça kolay olurdu.

Bir seri port kullanmak için bir DOS terminal programına ihtiyacınız vardır ve onu çalıştırmak için ZMODEM gibi bir protokol kullanırsınız, dosyayı 115kbps'de transfer etmek için, 115200 kbps'de 5 dakikadan daha az sürer.

Dizüstü bilgisayarınızda veya başka bir modern PC'de, bir USB-seri adaptörüne ve boş bir modem kablosuna ve aynı dosya aktarım protokolünü destekleyen bir terminal programına ihtiyacınız olacaktır. Bu kablolar sizi en iyi bilgisayar mağazalarında her biri için yaklaşık 5 dolar geri vermelidir.

Kullandığım en iyi MS-DOS terminal programı Telix sürüm 3.12 olarak adlandırıldı.


1
Telix gerçekten çok hoş bir programdı ve Terminate'i de hatırladım. Acaba bunu hiç kullandın mı? Bazen en sevdiğim BBSes ve USR modemimi özlüyorum. Bir zamanlar animasyonlu ASCII sanatı yaratmaya saplantılı olduğunu unutmayın!
Karan

8

PKZIP, birden fazla disketin yayılmasını desteklemiyor ve Lenovo'nun da bunu başaracak olan CHOPPER adlı DOS uyumlu bir uygulaması var.

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

Disk dağıtımı için pkzip anahtarı (docs'dan):

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

Avukat, açıkça veritabanının elektronik formatta sağlandığını belirtti mi?
Değilse ve bu kritik sistemde işlevsel (nokta vuruşlu) yazıcı eklenmişse, DOS yazdırma komutunu kullanarak metin dosyasını yazdırabilirsiniz .
Örneğin:

c: \ file.txt / c / d: lpt1 yazdır

100 lpm (~ 2,5 ppm) ve 750 sayfa metin ( bu hesaplayıcıya göre 3Mb metin dosyasında tahmini miktar) yazıcı hızını varsayarak , yaklaşık 5 saat içinde tam bir kopya üretebilmeniz gerekir.


2

Belki de DOS'ta zaten mevcut olan araçları kullanarak metin dosyasını elle bölüp hedef bilgisayarda yeniden birleştirebilirsiniz. Hepsi ASCII olduğundan, bunu yapmak bir ikili dosyayı bölmeyi denemekten çok daha kolay olmalıdır.


3
Sistemde bulabildiğim iki editörü denedim, ama ikisi de bana "hafıza bitti" hatalarını attılar, sanırım 3MB dosyasını aynı anda hafızaya yüklemeye çalıştılar.
Tarkenfire

Editör kullanmam, ancak XCOPY, DAHA FAZLASI veya belki de TYPE ile ilgili bazı argümanlar dosyayı kabaca bölmenize izin verebilir. (elbette, PKZIP çok daha kolay ve neredeyse çalışması garantilidir, ancak bu eğlenceli bir deneme olabilir)
Javier


2

Her yerde bulunan her yerde bulunan USB yongaları ve bir NIC'in değerli günlerinden önce, büyük ölçekli veri aktarımı için iki bilgisayarı seri ve paralel kablolarla bağladığımı hatırlıyorum.

Şu anki çağda en uygun yöntemi google yapmak zorunda kaldım, ancak hatırladığım şeye benziyor.

Maven Dosyası , seri veya paralel kablo ile transfer yapmanıza olanak sağlayan bir dosya transfer aracıdır. Muhtemelen artık seri porttan başka bir şeye sahip değilsinizdir, bu yüzden seri-usb adaptörü size modern teknolojiyle bağlantı sağlar.

Bu kablonun bir cinsiyet değiştirme adaptörüne ihtiyacı olabilir, bir PC'nin hangi parçasına sahip olduğunu unuttum.

Ayağa kalkmak ve sabit disk sürücüsünden sorumlu olan üreticiye büyük alkışlar vermek istiyorum. 25 yaşındaki HDD hala çalışıyor. Bugünün SATA sürücülerinin 2038'de hala çalıştığını hayal edebiliyor musunuz?


1

Her zaman 25 pinli bir Zip / Jaz sürücüsünü craigslist veya ebay'de bulabilirsiniz. Ancak, bundan daha iyi yöntemler var. :)


1

Laplink'in eski bir versiyonunu bulmaya çalışmaya ne dersin, istemcide o veriyi istediğiniz bilgisayarda çalıştıran yeni bir versiyondur. Burada bulunan yazılımlar: http://www.briggsoft.com/fmdos.htm


Modern PC'lerde seri bir bağlantı noktası bile olmaz, hatta paralel bir bağlantı noktası olur, ancak sanırım bir USB-seri adaptör ile laplink iyi bir fikir olur. Telix + ZMODEM fikrinden bir bütün sabit disk içeriğini veya klasör içeriğini aktarmanın çok daha kolay bir yolu, ancak bu teknik olarak YASAL mı? "LapLink" marka hala buralarda ve belki de DOS dosyalarını indirmekten hoşlanmıyorlar.
Warren P,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.