Tiedostoviittaukset

Tiedostoja käsiteltäessä täytyy voida yksikäsitteisesti viitata haluttuun tiedostoon. Eri hakemistoissa voi olla samannimisiä tiedostoja; niiden nimien yksikäsitteisyys taataan liittämällä nimen yhteyteen tieto siitä, missä hakemistossa haluttu tiedosto sijaitsee.

Havainnollistetaan asiaa puhelinnumeroilla:

Levyn (tai levykkeen) juurihakemistoa eli päähakemistoa merkitään kenoviivalla ( \ ). Komentoja annettaessa juurihakemistoon myös viitataan \-merkillä. Vastaava viittausmerkintä oletushakemistoon on piste (.) ja oletushakemiston isähakemistoon kaksi pistettä peräkkäin (..). juurihakemistolla ei luonnollisesti ole isähakemistoa.

Mikäli tiedoston sijainti ilmoitetaan juuresta alkaen mainiten jokainen juurihakemiston ja kohdehakemiston välinen matkan varrella oleva hakemisto, on kyseessä absoluuttinen (täydellinen) tiedostoviittaus. Absoluuttinen viittaus ei riipu oletushakemistosta.

Oletetaan, että tiedosto moniste.doc sijaitsee ylläolevassa puussa hakemistossa luennot. Absoluuttinen viittaus tiedostoon moniste.docon:

\kurssit\proped\luennot\moniste.doc

Tässä viittauksessa on täysin sama missä hakemistossa ollaan eli kyseessä on absoluuttinen viittaus.

Mikäli tiedoston sijainti ilmoitetaan oletushakemiston suhteen, on kyseessä relatiivinen eli suhteellinen tiedostoviittaus.

Jos oletushakemistona on luennot, niin suhteellinen viittaus yllä mainittuun tiedostoon olisi

moniste.doc

Hakemistosta proped suhteellinen viittaus olisi

luennot\moniste.doc

(viitataan hakemiston propedalihakemistonluennot sisältämään tiedostoon)

Hakemistosta kurssit suhteellinen viittaus olisi

proped\luennot\moniste.doc

Jos hakemistosta proped\luennot haluttaisiin viitata alihakemistoon proped\demot tiedostoon demo1.doc, olisi viittaus

..\demot\demo1.doc

(viitataan aluksi kahdella pisteellä isähakemistoon proped, jonka alihakemistosta demot haluttu tiedosto löytyy).

Hakemiston osoittaminen tiedostonimen yhteydessä:

Levyasemat

Mikrotietokoneessa saattaa olla käytettävissä useampia ulkoisia muistivarastoja, esim. koneen kiintolevy, levykeasemia (korppu tai lerppu), jne eli levyasemia (eng. drives).

Jotta tiedostoihin viittaaminen olisi täydellisen yksikäsitteistä, voidaan hakemistopolun ja tiedostonimen alkuun lisätä käytettävän muistivaraston tunnus.

Yleensä koneeseen asennetulle ja jaetulle kiintolevylle annetaan asematunnuksiksi kirjaimia C,D,E,, joista seuraavaa vapaata kirjainta käytettään usein CD-ROM -aseman tunnuksena.

Levykeasemaa vastaavasti merkitään A tai B (tai molemmat, jos on kaksi levykeasemaa). Levyasemien ja kovalevyn osien tunnukseen kuuluu aina kiinteästi myös kaksoispiste (:). Viittaukset niihin ovat siis muotoa C:,D:,E:, A: tai B:.

Näin ollen kiintolevyllä sijaitsevan edellisen esimerkin mukaisen tiedoston moniste.doc täydellinen (absoluuttinen) tiedostoviittaus olisi

c:\kurssit\proped\luennot\moniste.doc

Jos tiedosto sijaitsisi levykeasemassa A: olevalla levykkeellä, olisi viittaus

a:\kurssit\proped\luennot\moniste.doc

Kun hakemistojen yhteydessä jokin on aina oletushakemisto, myös levyistä jokin on aina oletuslevy. Tämä näkyy yleensä Windows:in kehotteessa (kuten oletushakemistokin). Kehote on komentorivin alkuun tuleva tekstinpätkä, jonka perään komennot kirjoitetaan, esim C:\MyTemp>. Kehotteen ollessa näkyvillä käyttöjärjestelmä on valmiina vastaanottamaan komentoja. Jos levyä ei viittauksessa erikseen mainita, kohdistuu se oletuslevyyn. Oletuslevyn muuttaminen tehdään antamalla Windows:ille komento jossa on ainoastaan levyaseman tunnus ja sen perässä kaksoispiste (esim A:). Tiedosto nimissä kannattaa huomioida, että jotkin vanhemmat järjestelmät eivät suvaitse 8 merkkiä pidempiä tiedoston nimiä ja lisäksi monesti välilyönnit ovat kiellettyjä merkkejä tiedostonimissä.

Esimerkki viittauksesta

Vaikka Windows-komennot esitellään vasta hiukan myöhemmin, otetaan hakemistoviittausten selvittämiseksi jo käyttöön yksi peruskomennoista, type, jolla saadaan halutun tiedoston sisältö näytölle. Komennolle annetaan parametrina sen tiedoston nimi, jonka sisältö halutaan tulostaa. Parametri on eräänlainen lisätieto, jonka avulla komento tietää mihin toiminta kohdistetaan. Esimerkiksi CD-komento tarvitsee tiedon siitä, mihin hakemistoon ollaan siirtymässä.

Oletetaan, että meillä on edellä esitetty hakemistopuu. Hakemistot on kirjoitettu isoilla kirjaimilla ja niissä olevat tiedostot pienillä kirjaimilla. Sovitaan että oletushakemisto on tällä hetkellä c:\budjetti (tikku-ukko). Hakemistopuusta huomaa, että samannimisiä tiedostoja voi olla ainoastaan eri hakemistoissa (verotoim.asc). Sama pätee hakemistojen nimiin (budjetti).

Haluttaessa tutkia tiedoston vuosi94.txt sisältöä voidaan se tehdä suhteellisella viittauksella:

type vuosi94.txt

Edellisessä voisi käyttää myös viittausta type .\vuosi94.txt, jossa piste viittaa sen hetkiseen hakemistoon. Tapa on kuitenkin hiusten halkomista, joten sen voi huoletta unohtaa.

Absoluuttisessa viittauksessa tiedoston sijainti täytyy kertoa kokonaan:

type c:\budjetti\vuosi94.txt

vuokrat.dat tiedoston katsomisessa vaihtoehtoina olisivat komennot

type tammikuu\vuokrat.dat

type c:\budjetti\tammikuu\vuokrat.dat

Ensimmäisessä komennossa tulostetaan näyttöön oletushakemiston allaolevasta hakemistossa oleva tiedosto. Jälkimmäisessä absoluuttisessa viittauksessa kerrotaan taasen kaikki hakemistot.

veikko.txt tiedoston tutkiminen käy suhteellisella viittauksella seuraavasti:

type ..\tekstit\veikko.txt

eli käytännössä näytetään oletushakemiston yläpuolisen hakemiston alihakemistosta nimeltä tekstit tiedosto nimeltä veikko.txt. Absoluuttisessa viittauksessa ei ole epäselvää:

type c:\tekstit\veikko.txt

Jokerimerkit

Tiedostoviittauksissa voidaan käyttää jokerimerkkejä (eng. Wildcards)* ja ? korvaamaan osa tiedostonimestä. Esimerkiksi kopioitaessa useampia tiedostoja levyltä toiselle olisi työlästä antaa erikseen kopiointikäsky jokaiselle kopioitavalle tiedostolle. Tällaisissa tapauksissa voidaan jokerimerkkien avulla käsitellä tiedostoryhmiä. Jokerimerkkejä voidaan käyttää vain tiedostoviittauksissa, mutta ei koskaan hakemistonimien osana.

Tiedostoviittauksessa esiintyvä kysymysmerkki vastaa yhtä mitä tahansa sallittua merkkiä. Esimerkiksi viittaus ab?.dat tarkoittaa kaikkia oletuslevyn oletushakemiston tiedostoja, joiden nimiosan pituus on kaksi tai kolme merkkiä ja ensimmäisenä merkkinä on A ja toisena merkkinä B, ja joiden tarkentimena on dat. Kolmas merkki voi olla mikä tahansa sallittu merkki (myös tyhjä). Kysymysmerkkejä voi tiedostoviittauksessa olla useampia, esimerkiksi ?a?.b?c.

Tiedostoviittauksessa oleva tähti (*) vastaa nollaa tai useampaa sallittua merkkiä. Esimerkiksi ab*.dat tarkoittaa kaikkia oletuslevyn oletushakemiston tiedostoja, joiden nimiosan kaksi ensimmäistä merkkiä ovat ab ja joiden tarkennin on dat (esim. ab.dat, abcdefgh.dat).

Jos levyllä (oletushakemistossa) on tiedostot

osa.txt

osa1.txt


osa2.txt


osa3.doc


osajako.txt

niin

Laitenimet

Joissakin Windowsin komennoissa voidaan tiedostonimen sijasta käyttää laitenimeä, jolloin joko syöttö luetaan kyseiseltä laitteelta tai tulostus lähetetään kyseiselle laiteelle. Nämä laitenimet ovat varattuja, joten niitä ei voida käyttää tiedostoniminä.

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/doc/tyovaline/dos/index3.html
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2003-10-13 15:52:30
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto