Kiintolevyjen hakemistojen levytilojen kon

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Kiintolevyjen hakemistojen levytilojen kon

markku.verkasalo
 Olen aina silloin tällöin katsellut Survo-keskustelua. Vähänpä täällä tapahtuu.
 Olen ilahtunut siitä, että ainakin Kimmo on pari kertaa kirjoittanut
 tekemisistään. Etenkin kevään survokentistä oli itsellenikin hyötyä.
 Olisi mukavaa, jos tällekin sivustolle saisi vähän elämää.  Itselleni
 Survo on osa elämäntapaani ja käytän sitä päivittäin ja teen aina silloin tällöin
 sukroja omaan käyttööni.  Se on eläkelläiselle sopivaa aivojen virkistystä.
 Kerronpa tässä eräästä viimeaikaisesta työstäni jotta joku muukin innostuisi
 kertomaan mitä on tehnyt.
 
 Minulla on kohtalainen määrä eri vuosina käytössä olleita ulkoisia
 kiintolevyjä. Halusin tehdä järjestelmän, jonka avulla voisin saada
 rekisterin jokaisen kiintolevyn sisällöstä ja tavumääristä hakemistoittain.
 
 Survo MM ohjelmasta löysin Kimmon 1997 tekemän TREE - ohjelman. Sillä saa
 näppärästi ja todella nopeasti haettua hakemistopolut, kun määrää sen hakemaan
 myös alihakemistot (esim LEVEL=9). Kuitenkaan tavuja se ei pysty oikein
 laskemaan jos hakemiston levytila on tarpeeksi iso. Ainakin 3.5 gigan levytilan
 se pystyi laskemaan, mutta ei paljon sitä isompia. 1997 tuollainen levytila oli
 älyttömän suuri ja on ymmärrettävää, ettei suurempiin levytilaan tullut
 mieleenkään varautua.
   Niinpä rakensin oman järjestelmän. Käytän ensiksi tree-ohjelmaa. Luon sen
 avulla survotiedoston, josta otan vain pelkän hakemiston muuttujana, en
 muuttujien lukumäärää tai tavujen lukumäärää. Käytin sitten Kimmon
 
 INDEX-komentoa määreillä CD=0 COMMENTS=0 DATE=0 TIME=0 ja täten sain
 riville vain  esim.
 NÄYTTÖKOMENTO  TIED.NIMI  / BITIT
 FILE SHOW TIED.SVO /  1345677
 /OPEN AANI TIEDOSTO 1 / 1200111233
 /OPEN     KUVA.NEF / 45123340
 /OPEN     KUVA.JPG /  1512334
 Varmin systeemi on, että poimii jokaisen rivin lopusta viimeisen sanan, joka on
 aina tavumäärä. Tämä on kuitenkin hidas systeemi, ja 3.6 teran levyllä se
 saattaa merkitä yli 2 tunnin hakuaikaa.
 
    Jotta saisin laskettua nopeammin tavumäärät hakemistosta, jossa saattaa olla
 satoja tiedostoja, käytin ensiksi FORM -komentoa suoristaakseni rivit ja sen
 jälkeen L+ komentoa laskeakseni tavumäärät. Aloitin ohjelmanteon ensiksi R:llä,
 mutta huomasin, että INDEX komento ei toimi oikein, jos tavumäärät ovat todella
 suuria, silloin tavumäärä jää kokonaan pois ja tulee () tavujen tilalle. Lisäksi
 Survo-R:llä tiedostojen nimet tulevat pitkinä niminä.
     Survo MM ohjelmassa isojen tiedostojen kohdalla tulee tavumäärän eteen "-"
 merkki, mutta muuten tiedoston koko näyttää olevan oikein. Ongelma on DIR
 komennossa jota INDEX käyttää. Niinpä REPLACE "-" komennolla korvaan kaikki "-"
 merkit blankolla. Aluksi yritin FORM komentoa niin, että siinä olisi neljä
 muuttujaa: <komento jolla tiedosto katsotaan> <Mjan nimi> / ja tavumäärä. Se
 aiheutti ongelmia, koska ensiksikin komento jolla tiedosto katsotaan oli
 tyypillisesti SHOW, mutta se saattoi olla FILE SHOW tai jotain muuta. Korvasin
 kaikki kaksiosaiset nimet tavuviivalla esim FILE_SHOW. Paljon suurempi ongelma
 olivat nimet joissa oli blankoja. Onneksi MM Survossa sukro muutti pitkät nimet
 lyhyiksi 8 merkin mittaisiksi nimiksi ja tämä ongelma pääasiassa ratkesi tällä.
 Ei kuitenkaan kokonaan sillä tätä lyhyempiäkin kahden sanan tiedostoja löytyi
 jostakin. Lisäksi jotkut hakemistojen nimet olivat niin pitkiä, että oli vaikea
 muodostaa FORM - komentoa.
 
  Itse en käytä pitkiä tiedostonnimiä enkä ikinä blankoja sisältäviä nimiä. En
 myöskään tee pitkiä hakemistonimiä, mutta kiintolevyille pakosta tulee toisten
 tekemiä tiedostoja, joiden nimiä ei voi hallita.
 
   Keksin sitten, että käytän INDEX komennossa olevaa "/" viivaa ankkurina. Onneksi
 Kimmo oli tuon jättänyt. Niinpä käytän REPLACE " /" "{r126}/",C{act} ja sen
 jälkeen puhdistan CLEAR komennolla kentän alusta 100 merkkiä. Kuvaruudulleni ei
 mahdu näkyviin FONT 10 määreellä yli 145 merkin levyisiä kenttiä. Jos tekee
 tuota pitempiä kenttiä, niin joutuu työntämään kuvaruutua oikealle. Se hidastaa
 toimintaa melko paljon. Tosin äsken kokeilin FONT 5 komentoa ja sillä pystyisi
 tekemään 300 merkin levyisiä kenttiä. Mutta minulle näyttää riittävän tuo 100
 merkin poistaminen kentän alusta. Tämän jälkeen kentässä on enään "/" ja
 tavumäärä ja sen jälkeen voin käyttää FORM  komentoa ja L+ komennolla voin
 laskea tavumäärän. Tämä toimii riittävän varmasti.
 
 Onneksi MM-survon sukroissa INDEX -komento lyhentää tiedostot 8 merkin
 mittaisiksi. Itse INDEX-komennon helpistä en löytänyt tällaista määrittelyä. Löysin
 ainoastaan allaolevan komennon, mutta sen käyttö olisi liian vaivalloista kun
 pitäisi ensiksi antaa pitkät nimet ja lyhyet tulisivat seuraavalle riville.
 Tässä help- järjestelmän antama tieto: "INDEX /SHORTNAME <long_file_name>
 converts the long file name to its short representation and writes the result on
 the next line. In errorneous situations, an empty line is written."
 
 Nyt kun sukro automaattisesti tekee tuon lyhyen version MM Survolla, niin
 ongelmani on ratkaistu, mutta kiinnostuksesta kysyisin, voiko INDEX - ohjelmalla
 saada lyhyet nimet ilman, että antaa pitkiä nimiä?
 
 Kaikenkaikkiaan nytkin 3.5 teran kiintolevyn läpikäyminen saattaa kestää
 tunninkin, mutta se ei ole ongelma kunhan ohjelma toimii muuten kohtuullisen
 hyvin. Ohjelma toimii täydellisesti niillä tiedostoilla ja hakemistoilla
 jotka olen itse tehnyt, mutta vieraiden tekemiin hakemistoissa ja tiedostoissa
 voi tulla jotain ongelmia joiden jälkeen joutuu käsin jatkamaan ohjelmaa, mutta
 tätä tapahtuu harvoin.
 Tämän jälkeen tein vielä tärkeimpien kiintolevyjen hakemistoista Survo-tiedostot
 niin että poimin hakemistojen nimet erikseen ja korvasin "/" merkit riittävän isolla
 blankomäärällä ja saatoin sen jälkeen tehdä saman minkä Kimmo on tehnyt LEVEL - määri-
 tyksellä.  Sitä en ole vielä viitsinyt automatisoida.
 

Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

Kimmo Vehkalahti
Administrator
Hei Markku,

Konstit on monet, kuten on Survon kanssa totuttu ajattelemaan.

Tiedostojen ja hakemistojen hallinta on kaikkiaan Windowsissa aika sotkuista. SURVO MM ja SURVO R ovat tässä suhteessa erilaisia, koska SURVO R:ssä hyödynnetään funktioita, jotka toimivat sekä Windowsissa että Macissa (ja Linuxissa). Lyhyet nimet ovat Windows-alustan (ruma, väkisin lisätty) erikoisuus. Ja tosiaan: 1990-luvun lopulla ei tullut lainkaan varauduttua sellaisiin tiedostokokoihin, joita yli 20 vuotta myöhemmin esiintyy aivan yleisesti. Tälle ei oikein mahda enää mitään.

Uskon, että sait jo varsin hyvin hommat toimimaan, mutta siltä varalta, että haluaisit kokeilla vielä vaihtoehtoja, tässä ehdotus Windowsin DIR-komennon käyttämiseksi.

Komento on annettu Survon editorista, siksi alussa on väkänen. Loppupuolella oleva väkänen puolestaan ohjaa tulostuksen sen oikealla puolella annettuun tekstitiedostoon. Hakemistona tässä on (hieman vanhan) R:n muste-hakemisto, josta löytyvät Survo R -ohjelman tarvitsemat tiedostot:

>DIR /X/S/N/-C/OGS C:\rlibs\3.6.3\muste > D:\DIR.TMP

DIR-komennon vipuina olen kokeeksi käyttänyt seuraavia:

/X = jos tiedostolle on lyhyt nimi, se lisätään riville ennen pitkää nimeä
/S = alihakemistot (siis koko hakemistopuu) tulevat mukaan
/N = listausmuoto, jossa pitkät tiedostonimet ovat laitimmaisena oikealla
/-C = tuhaterottimet (blankot) jätetään pois tiedoston koosta
/OGS = järjestetään niin, että alihakemistot ensin ja tiedostot suuruusjärjestyksessä

Tämän hyvä puoli on se, että listaus syntyy erittäin nopeasti. Tässä näytteeksi vähän alkua äskeisen komennon tulosteesta (haettuna LOADP-komennolla Survo-kenttään):

 Directory of C:\rlibs\3.6.3\muste

03.12.2021  12.05    <DIR>                       .
03.12.2021  12.05    <DIR>                       ..
03.12.2021  12.05    <DIR>                       U
03.12.2021  12.05    <DIR>                       D
03.12.2021  12.05    <DIR>                       TUT
10.12.2021  09.06    <DIR>                       TMP
03.12.2021  12.05    <DIR>                       tklibs
03.12.2021  12.05    <DIR>                       EX
03.12.2021  12.05    <DIR>                       help
03.12.2021  12.05    <DIR>                       html
03.12.2021  12.05    <DIR>                       include
03.12.2021  12.05    <DIR>                       SYS
03.12.2021  12.05    <DIR>                       libs
03.12.2021  12.05    <DIR>                       M
03.12.2021  12.05    <DIR>                       S
03.12.2021  12.05    <DIR>                       Meta
03.12.2021  12.05    <DIR>                       R
03.12.2021  12.05    <DIR>                       web
03.12.2021  12.05    <DIR>                       Q
03.12.2021  12.05    <DIR>                       OPETUS
03.12.2021  12.05               198 NAMESP~1     NAMESPACE
03.12.2021  12.05               223              INDEX
03.12.2021  12.05               310              DEMOS.EDT
03.12.2021  12.05               663 DESCRI~1     DESCRIPTION
03.12.2021  12.05              1328              START.EDT
03.12.2021  12.05              1328              ESTART.EDT
03.12.2021  12.05              1328              SSTART.EDT
03.12.2021  12.05              1758 MUSTEG~1.PDF musteguide.pdf
03.12.2021  12.05              1856              SURVO.APU
03.12.2021  12.05              4950              SOFT.TUT
03.12.2021  12.05              5339              CRT.EDT
03.12.2021  12.05             37544              NEWS
03.12.2021  12.05             40832              MD5
03.12.2021  12.05             51860              SUR-SOFT.EDT
03.12.2021  12.05             58200              SUR_SOFT.EDT
              15 File(s)         207717 bytes

 Directory of C:\rlibs\3.6.3\muste\D

03.12.2021  12.05    <DIR>                       ..
03.12.2021  12.05    <DIR>                       .
03.12.2021  12.05              1943              MSQPLOT.EDT
03.12.2021  12.05              8806              DECA.SVO
03.12.2021  12.05             31878              SPOINT.EDT
03.12.2021  12.05             62096              KUNNAT.SVO
               4 File(s)         104723 bytes


Uskoisin, että tätä pystyy sukrolla jatkokäsittelemään varsin kätevästi. Ja isoimmatkin tiedostokoot ovat tässä oikein! :)

terv. Kimmo
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

Kimmo Vehkalahti
Administrator
Hei,
Tässä vielä toinen näkymä samalla DIR-komennolla, kohteena C:\rlibs\4.1.2 -hakemisto, ja tähän poimittuna vain tiedoston viimeiset rivit.

Aivan lopussa näkyy myös vapaan levytilan määrä ko. levyllä: 194869694464 tavua, jonka voimme tuttuun Survo-tapaan ilmaista myös sanoin:

194869694464(10:sanoin)=sata yhdeksän kymmentä neljä miljardia kahdeksan sataa kuusi kymmentä yhdeksän miljoonaa kuusi sataa yhdeksän kymmentä neljä tuhatta neljä sataa kuusi kymmentä neljä

Lisäsin tulosteen yläpuolelle apurivit, joiden avulla nähdään muun muassa, että tiedoston (pitkä) nimi alkaa aina sarakkeesta 50 ja tiedoston koko on tasattu oikealle, sarakkeeseen 35.

         1         2         3         4         5         6         7
123456789012345678901234567890123456789012345678901234567890123456789012...

08.12.2021  14.46              2684 TEST_Y~2.R   test_yaml_load_file.R
08.12.2021  14.46             12315 TEST_A~1.R   test_as_yaml.R
08.12.2021  14.46             20338 TEST_Y~1.R   test_yaml_load.R
               5 File(s)          36679 bytes

 Directory of C:\rlibs\4.1.2\yaml\tests\files

08.12.2021  14.46    <DIR>                       ..
08.12.2021  14.46    <DIR>                       .
08.12.2021  14.46               179              test.yml
08.12.2021  14.46               395              merge.yml
               2 File(s)            574 bytes

     Total Files Listed:
            4912 File(s)      192472080 bytes
            2993 Dir(s)    194869694464 bytes free
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

Kimmo Vehkalahti
Administrator
Vielä yksi lisäys, kun huomasin, että Markun varsinainen tarkoitus oli oikeastaan saada hakemistoittaiset tiedot levytilan käytöstä. Tässä yksi konsti käyttäen Survon mainiota LINEDEL-toimintoa:

1. Haetaan edellä saatu tulostiedosto toimituskenttään (varattava tarpeeksi rivejä)

2. Poistetaan siitä rivit, joissa esiintyy hakemiston nimi ja talletetaan ne DIRS-nimiseen kenttään:

LINEDEL CUR+1,END,"Directory of" / DEL_SAVE=DIRS

3. Haetaan tulostiedosto uudelleen toimituskenttään

4. Poistetaan siitä rivit, joissa esiintyy hakemiston tiedostojen yhteiskoko ja talletetaan ne FILES-nimiseen kenttään:

LINEDEL CUR+1,END,"File(s)" / DEL_SAVE=FILES

Sen jälkeen on helppo muodostaa esim. datatiedosto, jossa nämä tiedon sirpaleet kohtaavat.

t. Kimmo
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

Kimmo Vehkalahti
Administrator
En voinut välttää kiusausta jatkaa tätä tarinaa, kun kerran aloitin - Survolla on niin hauskaa tehdä tällaisia.

Paketoinnin sukroksi jätän kuitenkin Markulle, joka tietenkin osaa sen suvereenisti.

Tässä siis jatkoa edellä tehtyyn, jossa hyödynnettiin LINEDEL-operaatiota:

Talletetaan edellä saadut tiedot tekstitiedostoiksi:

SAVEP CUR+1,END-1,BYTES.TXT / FILES-kentässä
SAVEP CUR+1,END,  DIRS.TXT  /  DIRS-kentässä

Ne näyttävät tällaisilta (5 ensimmäistä havaintoa ladattuna kenttään):

SHOW BYTES.TXT
               0 File(s)              0 bytes
              11 File(s)         801310 bytes
               5 File(s)           3076 bytes
               2 File(s)           2695 bytes
               0 File(s)              0 bytes

SHOW DIRS.TXT
 Directory of C:\rlibs\4.1.2
 Directory of C:\rlibs\4.1.2\askpass
 Directory of C:\rlibs\4.1.2\askpass\help
 Directory of C:\rlibs\4.1.2\askpass\html
 Directory of C:\rlibs\4.1.2\askpass\libs

Siirretään kahdeksi eri datatiedostoksi:

FILE SAVE BYTES.TXT TO NEW BYTES
FILE SHOW BYTES

FILE SAVE DIRS.TXT TO NEW DIRS / VARLEN=70
FILE SHOW DIRS

Tarkistetaan ja päivitetään rakenteita:
(passivoidaan turhia muuttujia ja nimetään paremmin tarpeellisia)

FILE STATUS BYTES
 Copied from text file BYTES.TXT
FIELDS: (active)
   1 NA_   2 X1       X1 (###)
   2 SA_   7 X2       X2
   3 NA_   8 X3       X3 (########)
   4 SA_   5 X4       X4
END
Survo data file BYTES: record=47 bytes, M1=9 L=64  M=4 N=998

FILE UPDATE BYTES
 Copied from text file BYTES.TXT
FIELDS: (active)
   1 NA_   2 Files    X1 (###)
   2 S-_   7 X2       X2
   3 NA_   8 Bytes    X3 (########)
   4 S-_   5 X4       X4
END

FILE STATUS DIRS
 Copied from text file DIRS.TXT
FIELDS: (active)
   1 SA_   9 X1       X1
   2 SA_   2 X2       X2
   3 SA_  70 X3       X3
END
Survo data file DIRS: record=121 bytes, M1=7 L=70  M=3 N=998

FILE UPDATE DIRS
 Copied from text file DIRS.TXT
FIELDS: (active)
   1 S-_   9 X1       X1
   2 S-_   2 X2       X2
   3 SA_  70 Dir      X3
END

Tehdään vastaavat muuttujat toiseen dataan:

VAR Files:2=MISSING TO DIRS
VAR Bytes:8=MISSING TO DIRS

Päivitetään sen aktiivisten muuttujien kuvaukset:

FILE UPDATE DIRS
 Copied from text file DIRS.TXT
FIELDS: (active)
   3 SA_  70 Dir      Directory name (path)
   4 NA-   2 Files    Number of files in directory
   5 NA-   8 Bytes    Total bytes of the files in the directory (#########)
END
Survo data file DIRS: record=121 bytes, M1=7 L=70  M=5 N=998

......................

Kopioidaan lopulta tiedot samaan dataan:

FILE COPY BYTES TO DIRS / MATCH=# VARS=Files,Bytes

FILE SHOW DIRS
......................

Ladataan kenttään 10 eniten tilaa vievää hakemistoa:

FILE SORT DIRS BY -Bytes TO DIRS2
.......................
FILE LOAD +DIRS2 CUR+2 / SELECT=ORDER,1,10

 Dir                                                                     Files     Bytes
 C:\rlibs\4.1.2\stringi\libs                                                 3  28686315
 C:\rlibs\4.1.2\stringi\libs\i386                                            2   5790954
 C:\rlibs\4.1.2\stringi\libs\x64                                             2   5124673
 C:\rlibs\4.1.2\Rcpp\include\Rcpp\module                                    21   3979874
 C:\rlibs\4.1.2\curl\libs\i386                                               2   3829769
 C:\rlibs\4.1.2\curl\libs\x64                                                2   3739657
 C:\rlibs\4.1.2\openssl\doc                                                 13   3135278
 C:\rlibs\4.1.2\openssl\libs\i386                                            2   2970967
 C:\rlibs\4.1.2\openssl\libs\x64                                             2   2964287
 C:\rlibs\4.1.2\xml2\libs\i386                                               2   2502826

...................................

Tai 10 eniten tiedostoja sisältävää hakemistoa:

FILE SORT DIRS BY -Files TO DIRS3
....................................
FILE LOAD +DIRS3 CUR+2 / SELECT=ORDER,1,10

 Dir                                                                     Files     Bytes
 C:\rlibs\4.1.2\cli\help\figures                                           138    574129
 C:\rlibs\4.1.2\colorspace\hclwizard\www\images                             99     11763
 C:\rlibs\4.1.2\knitr\themes                                                85     26324
 C:\rlibs\4.1.2\data.table\tests                                            65    500917
 C:\rlibs\4.1.2\Rcpp\include\Rcpp\sugar\functions                           51    284707
 C:\rlibs\4.1.2\Rcpp\include\Rcpp                                           50    241834
 C:\rlibs\4.1.2\Rcpp\tinytest                                               47    261836
 C:\rlibs\4.1.2\Rcpp\include\Rcpp\traits                                    42     76672
 C:\rlibs\4.1.2\rmarkdown\rmd\slidy\Slidy2\graphics                         40    131319
 C:\rlibs\4.1.2\Rcpp\tinytest\cpp                                           39    175864

.......................................

Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

markku.verkasalo
Olen saanut jo lähes kaikki levyt kahlattua läpi tekemilläni sukroilla.  
  Mutta jos haluaisinkin tehdä tuota systemaattisesti useamminkin, nopeutukset olisivat paikallaan. Melko ovelia temppuja olet keksinyt.
Kiitos paljon  noista näppäristä vihjeistä.  Niitä täytyy kyllä kokeilla.
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

markku.verkasalo
Hei Kimmo.  Kiitos vielä vihjeestäsi.  Siitä oli minulle paljon iloa.
Tein nyt uuden version ohjelmastani käyttämällä  ehdottamaasi Dir -komentoa.
Se yksinkertaisti kovasti sukroani ja ohjelmani nopeutui kovasti.  Nyt 3.6 teran kiintolevy, jossa on noin 2700 hakemistoa ja 376000 tiedostoa meni läpi 28 minuutissa, kun siihen aikaisemmin meni aikaa noin tunti.

Sukro typistyi melko pieneksi. Olennaisena osana siinä on edelleen sinun TREE-ohjelmasi, jonka avulla haen alihakemistot, jotka ovat alekkain listana.
Luulenpa, että olen tällä hetkellä ainoa joka käyttää aktiivisesti TREE komentoa ja on innostunut siitä kovasti, vaikkakin haen sen avulla vain kiintolevyn alihakemistot enkä käytä sitä tiedostojen koon mittaamisessa:)

  Sitten vain käyn alihakemisto kerrallaan DIR -komennolla läpi hakemistoja, etsin niistä File(s) sanan ja sen edestä poimin tiedostojen lukumäärän ja sen takaa tavujen määrän ja siirrän ne listauksessa etsittävänä olevalle hakemistoriville ja siirryn yhtä riviä alemmaksi.
    Tuo DIR komento on siitä parempi kuin INDEX - että se ei jää jumiin vaikka tietyssä alihakemistossa ei olisi lainkaan tiedostoja.  Aikaisemmin jotkut hakemistot kuten esim. SYSTEM~1 aiheuttivat ongelmia ja tekemäni error_handler:kään ei niihin pystynyt.  Tuo DIR -komento ei näytä jumiutuvan lainkaan.

Mitä luulet, nopeutuuko sukro, jos sen ei tarvitse päivittää kuvaruutua jatkuvasti ja onko kuvaruudun lukitseminen mahdollista?  Jotenkin muistelen Sepon joskus puhuneen siitä, mutta en ole varma.
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

Kimmo Vehkalahti
Administrator
hei Markku,
Hauska kuulla, että sait sukroa nopeutettua.
Suosittelen {disp off} -koodin käyttöä. Luultavasti se nopeuttaa vielä toimintaa.
t. Kimmo
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

markku.verkasalo
In reply to this post by Kimmo Vehkalahti
Nyt vasta tajusin tuon koko systeemisi komeuden.  Tuota Dir -komentoa ei kannatakaan antaa alihakemistoille erikseen, vaan koko kiintolevylle, esim D:\   Tämä näyttää tulostavan tosiaan kaikki alihakemistot.  Ja sitten kannattaa toimia LINEDEL -komentojen ja kahden tiedoston avulla ja niiden yhdistämisen avulla.  Sehän tekee tuosta todella nopeaa!
Reply | Threaded
Open this post in threaded view
|

Re: Kiintolevyjen hakemistojen levytilojen kon

Kimmo Vehkalahti
Administrator
No hyvä! :)

Kokeilin itsekin D-levylläni (reilut 100 000 tiedostoa lähes 9 000 hakemistossa). DIR-komento vie vain pari sekuntia, ja se tuottaa lähes 8 megatavun kokoisen tekstitiedoston, jossa on n. 125 000 riviä). LINEDEL on myös erittäin nopea, samoin nuo FILE-operaatiot.

t. Kimmo