Saltrød Horror Show nr. 76

av Odd de Presno.


Publisert i Datatid, Norge nr. 6/1993, side 62.


Sletting av fildubletter

På Tiki 486DX lå det 8970 filer i 258 kataloger. Jeg visste det var mange dubletter og ville rydde opp. Programmet jeg tidligere hadde brukt kræsjet imidlertid. Det var for lite tilgjengelig hukommelse til behandling av så mange filer.

På CompuServe fant jeg et alternativ. Programmet ligger nå i filen DUPFILE1.EXE (82KB, registrering US$9.95). Det gjorde jobben.

"Dupfiles kan håndtere rundt 8000 filer på en PC med 550KB ledig kapasitet", sto det i bruksanvisningen. "Din eneste begrensning er hukommelsens størrelse". Uffda! For lite plass?

Tikien var heldigvis ikke lenger en "vanlig PC". Den hadde fått MS-DOS 6.0, som kan frigjøre mere av hukommelsesressursen enn DOS 5.0. Dessuten har 6.0 et vidunderlig trick. Trykk på F8-tasten ved oppstart for å hoppe over utvalgte kommandoer i CONFIG.SYS for deretter å hoppe over AUTOEXEC.BAT i sin helhet.

Jeg så gjorde og PCen startet opp med 635KB ledig RAM. Dermed greidde Dupfiles jobben med 51KB RAM margin. Jeg kunne hatt enda flere filer... (På Toshiba 5100 lå det 10326 filer i 370 kataloger. Etter å ha frigjort 636.7KB av RAM greidde Dupfiles jobben med 3KB margin. Puh!)

Dupfiles analyserte filnavnene etter forskjellige, brukervalgte kriterier. Deretter kom duplikatene opp på skjermen etter tur. Et trykk på F2 for å slette den av duplikatene du vil fjerne.

Noen timer senere hadde jeg slettet 808 filer. En stor mengde megabytes fra frigjort.

Hastighet og stor harddisk

Da jeg fikk Tikien, var den ferdig oppsatt med en diger C-stasjon. På Toshiba 5100, som også har noe over 400 megabyte kapasitet, har jeg tidligere delt disken opp i 13 logiske diskstasjoner (fra C til O, samt RAM-disken P).

Grunnen til at jeg hadde valgt denne løsningen på Toshiba var et lite notat om hastighet i maskinens bruksanvisning. "Det lønner seg å ha logiske diskstasjoner med en størrelse på mindre enn 33 MB", sto det. Nå hadde jeg en anledning til å teste anbefalingen.

Konklusjonen er at det lønner seg med mange logiske stasjoner. Jeg har i dag ofte hurtigere databehandling på Toshibaen, til tross for at det er en 386-maskin.

Noe av årsaken ligger selvsagt i hvilke programmer du bruker. Bruker du DIR-kommandoen eller HotDir (se under) ofte, har du f.eks. et problem med at de forsøker å finne tallet for antall "bytes free" på disken. Det tar lengre tid å finne tallet om den logiske disken er over 400 megabyte stor, enn om den kun er på 33 MB.

Et annet moment er den tiden det tar å taste lange path-navn.

Brukerstatistikk

På Saltrød Horror Show BBS har jeg en liste over de shareware og gratisprogrammene jeg liker best (Gå til filområdet og tast L;1 for å få listen). Men hvordan stemmer nå egentlig kartet med terrenget? Jeg bestemte meg for å finne ut.

Jeg fant ingen verktøy som kunne gi eksakt det jeg ville ha. Enden på visa ble derfor et system av småprogrammer heklet sammen med en batchfil.

Vi har skrevet om alle hjelpemidlene før:

LOG.COM (2KB, gratis) logger hvilke programmer du bruker
CUTOUT.EXE (10KB, gratis) fjerner angitte deler av teksten på en linje.
QSORT403.COM (55KB, bidrag US$20) er et sorteringsprogram.
UNIQ.COM (8KB, gratis) teller antall forekomster av ord.
LIST77.EXE (109KB, US$20) for å lese resultatet

LOG lager en rapport omtrent som dette (noe forkortet i bredden):

  10 Mar 1993
  START     END     ELAPSED    LEVEL    PROGRAM 
  ================================================ 
  15:11    15:11    0:00:06      0      <idle> 
  15:11    15:12    0:00:04      1      HDIR.COM 
  15:12    15:12    0:00:03      0      <idle> 
  15:12    15:12    0:00:08      1      LIST.COM 

Koden <idle> i PROGRAM-kolonnen betyr ingen aktivitet.

I BATCH-filen ANTALL.BAT bruker jeg først CUT til å fjerne alt unntatt teksten under kolonnen PROGRAM. Deretter sorteres kolonnen med QSORT og UNIQ teller antall forekomster. Merk: sortering før telling er viktig! (Du kan selvfølgelig bruke MS-DOS programmet SORT.EXE. Det går imidlertid så sakte at du sikkert som meg vil lure på om maskinen har gått i frø. Heaven forbid!)

Telleresultatet sorteres på ny, denne gang med den hyppigste forekomstene først. Resultatet skrives ut i en fil, som deretter vises frem på skjermen med LIST.

Batchfilen ANTALL.BAT

Her er en forenklet utgave av batchfilen. Min versjon er vesentlig større, da den er utvidet for å lage diverse statistikkoppgaver for KIDLINK-prosjektet. Den gir meg bl.a. lettvint oversikt over hvem som laster ned flest filer, hvilke filer og filbiblioteker som er mest populære, osv. Følgende kommandoer er imidlertid en god begynnelse:

echo off
cls
if (%2)==() goto hjelp
echo Uønsket informasjon fjernes fra hver linje ...
CUT %2 %1 >antall.tmp
echo Sortering før telling
QSORT antall.tmp
echo Telling av antall forskjellige ord
UNIQ -c antall.tmp >resultat.tmp
echo Sortering av resultatet (med hyppigste forekomst først)
QSORT resultat.tmp /-
LIST resultat.tmp
goto exit
:hjelp
echo Kommandoformat ANTALL filnavn -cFRAKOLONNE-TILKOLONNE
echo Eksempel: ANTALL BRUKSLOG -c39-52
goto exit
:exit
if exist antall.tmp del antall.tmp

Sluttresultatet

En av mine resultatsrapporter starter slik:

 643 <idle>
 166 
 138 HDIR.COM 
  80 RET.EXE 
  45 FAKEY.COM 
  44 ED.EXE 
  39 ED.EXE 
  37 LIST.COM 
  30 PROGRAM 
  30 ============== 
  29 VUIMG.EXE 

At det er 643 <idle> og 166 blanke linjer er selvfølgelig komplett overflødige. I min versjon av ANTALL.BAT har jeg kommandoer som fjerner disse. På den annen side er de enkle å overse/fjerne...

Ny versjon av HotDir

HotDir står på listen over de sharewareprogrammene jeg liker best. Jeg bruker det hele dagen for å finne ut hvilke filer som ligger i forskjellige diskkataloger. I motsetning til MS-DOS DIR-kommando kan HotDir vise filnavnene i farger. Jeg lar det f.eks. vise .COM-filer i grønt, .EXE-filer i blågrått, katalognavn i fiolett og batchfiler med rødt.

En nyere versjon er tilgjengelig (i filen HOTDIR.EXE, 68KB, bidragsønske US$20.00), og takk for det. Den gamle rapporterte ikke korrekt antall "bytes free" på harddisker større enn 33 megabyte i versjoner av DOS høyere enn 4. En annen nyhet er at du nå kan sette opp HotDir for fremvisning i 43 eller 50 linje/skjerm modus på EGA og VGA-skjermer. Hent det!

MS-DOS 6.0

Siden februar har jeg kjørt en pre-release av MS-DOS versjon 6 på tre av PCene her nede på Saltrød. Det nye operativsystemet er flott, selv om det har sine svakheter. Spesielt er jeg begeistret for:

  • MemMaker - som gir bedre utnyttelse av RAM,
  • DoubleSpace - som gir bedre utnyttelse av harddisken ved komprimering,
  • Interlnk - for sammenkopling av PCer, og
  • muligheten til å velge forskjellige oppsett ved oppstart.

Den siste egenskapen bruker jeg bl.a. på Saltrød Horror-show maskinen. Ved oppstart får jeg en valgmeny, som spør om jeg vil kjøre BBS-programmet eller ei. Det styres av noen nye kommandoer i CONFIG.SYS og AUTOEXEC.BAT. Reagerer jeg ikke i løpet av 3 sekunder (mitt valg), starter BBS-programmet.

I CONFIG.SYS la jeg først inn følgende nye kommandoer:

[menu]
MENUITEM=standard
MENUITEM=uten
menucolor=15,1
menudefault=standard,3

Det gir valg mellom to alternativer, "standard" og "uten", i en meny med hvit skrift på blå bakgrunn. Mitt valg lagres også i environment variablen CONFIG, som jeg senere kan bruke i tester i batchfiler. Da jeg ønsker å bruke samme oppsett i CONFIG.SYS ved begge valgene, men hoppe over BBS-delen av AUTOEXEC.BAT ved valg av "uten", la jeg inn følgende linje i AUTOEXEC.BAT:

if (%config%)==(uten) goto uten

Kommandoene ble lagt inn i CONFIG.SYS ved å kopiere over likelydende kommandoer fra Tiki 486DX, hvor de fungerte bra. Jeg ble derfor noe overrasket da MS-DOS meldte feil kommandoer i CONFIG.SYS på Olivetti M290...

Med liten skrift i bruksanvisningen fant jeg årsaken. Det være referanser til de to valgene i CONFIG.SYS for at DOS skal akseptere dem. Løsningen var å føye til de to linjene:

[standard]
[uten]

helt til slutt i CONFIG.SYS. Nå går det som en drøm.

Regnemaskin

Sharewareprogrammet i filen ADDMACH.EXE (29KB, bidrag US$ 3.00) er langt fra særlig elegant, men det gjør en ting du kanskje ikke like lett kan gjøre med andre verktøy. La meg forklare med et eksempel:

Over brukte jeg diverse programmer for å finne ut hvor ofte jeg bruker forskjellige programmer på Tiki 486DX. Men hva er totalt antall forekomster?

The Adding Machine kan gi svaret. Programmet kan lese tall fra en fil og regne ut summen. Men først måtte jeg fjerne unødvendig tekst fra resultatsrapporten med CUT, slik:

cut -c1-4 resultat.tmp >input.prn

Det ga en fil med tallene (alene) i en lang kolonne. Filen INPUT.PRN ble deretter lastet inn i Adding Machine. Jeg kommandoerte TOTAL og der var tallet: 1.763 forekomster. Gjennomsnitt av 95 forskjellige verdier: 18,56. Høyeste tall var 643 (antall <idle>). Laveste tall var 1.

Merk: Første linje i inputfilen må være blank. Ellers mister du det første tallet i beregningen. Filen må slutte med en Ctrl-Z for å unngå at en ekstra 0 blir føyet til. (Er det bare en 0, kan den forresten lettvint fjernes, mens du er inne i programmet).



Det er forbudt å distribuere denne artikkelen - eller deler av den - i elektronisk, trykt eller kopiert form mot betaling.