Demo 1 - Komentojonojen perusteita
English version
Seuraavissa demotehtävissä kerrataan hieman
DOS-komentoja ja harjoitellaan DOS-komentojonojen tekemistä.
Jos DOS-komennot ovat tuttuja, voit mennä suoraan
DOS-komentoja kertaavien tehtävien yli. DOS-komentoja
kertaavat tehtävät kannattaa kuitenkin lukea muistin virkistämiseksi.
Kaikki demotehtävät voi tehdä Windows 2000,
Windows NT:n tai Windows 95:n komentokehotteessa (engl. Command
Prompt tai MS-DOS Prompt). Eri käyttöjärjestelmien välillä
demojen tekemisessä voi olla pienoisia eroja, mutta
periaatteet ovat kuitenkin samoja.
Apuna demojen tekemisessä voi ja pitää
käyttää Windowsin mukana tulevaan
komento-opastetta. Avustuksesta
löytyy demoissa tarvittavien komentojen syntaksi eli muoto
ja esimerkkejä komentojen käytöstä. Avustusta
kannattaa opetella käyttämään!
- Windows 2000:ssa komento-opasteen saa käyttöön valinnalla Start | Help. Opasteen
Index-välilehdeltä komento-opasteen
saa näkyville hakusanalla Command Reference.
- Windows NT:ssä komento-opasteen saa näkyville
kirjoittamalla Start | Run-ikkunaan
avustustiedoston nimen eli ntcmds.hlp.
- Windowsin 95:ssä ja 98:ssa komentojen opasteita joudutaan käyttämään komentoriviltä.
Komennon opasteen saa näkyville kirjoittamalla komennon attribuutiksi kysymysmerkin (doskomento /?).
Kaikki seuraavat demotehtävät tehdään
komentokehotteessa (engl. Command Prompt). Komentokehote avautuu
valinnalla Start | Command Prompt.
DOS-komentojen kertaus
Seuraavassa kerrataan lyhyesti tietotekniikan propedeuttisella kurssilla opittuja DOS-komentoja.
DOS-komentoja voit kerrata luento3:n materiaaleista.
- Tee U:-levyasemalle LAITTEISTOT
niminen hakemisto ja vaihda oletushakemistoksi tekemäsi
hakemisto eli siirry tekemääsi hakemistoon. (Vihje:
MKDIR ja CD)
- Tee oletushakemistoon tiedosto, joka sisältää
nimesi ja osoitteesi EDIT-tekstieditorin avulla. Tallenna
tiedosto nimelle MINA.TXT.
- Tee oletushakemiston alle alihakemisto
BATIT.
- Kopioi tiedosto MINA.TXT
BATIT-hakemistoon käyttäen
suhteellista viittausta. Siirry
BATIT-hakemistoon ja varmista, että tiedosto on
kopioitunut hakemistoon. (Vihje: COPY)
- Uudelleennimeä LAITTEISTOT-hakemistossa
oleva MINA.TXT-niminen tiedosto nimelle
MINA2.TXT. (Vihje: RENAME)
- Siirrä LAITTEISTOT-hakemistossa
oleva tiedosto MINA2.TXT BATIT-hakemistoon
käyttäen absoluuttista viittausta.
Varmista lopuksi tiedoston siirtyminen. (Vihje: MOVE)
- Tuhoa BATIT-hakemistossa olevat tiedostot ja jatka seuraavien demotehtävien tekemisellä. (Vihje: DEL)
Komentojen putkitus ja uudelleen suuntaus sekä muuutamia uusia DOS-komentoja
Seuraavissa tehtävissä tutustutaan muutamiin uusiin DOS-komentoihin sekä perehdytään
komentojen putkitukseen ja uudelleen suuntaamiseen.
- Tutki aluksi mitä MORE-ohjelma tekee. Ohjelmasta saat avustuksen samalla tavalla kuin DOS-komennoista.
- Putkita DIR-komennon tuloste MORE-ohjelmalle.
- Hakemistolistaus pitäisi tulla näkyville sivutettuna, joten DIR-komento kannattaa ottaa hakemistosta, jonka sisältö ei mahdu kerralla ruudulle.
- Millä DIR-komennon attribuutilla voidaan tehdä sama asia?
- Mitä eroa komennoilla on?
- Uudelleen suuntaa DIR-komennon tulostus tiedostoon DIR.TXT . Tarkista löytyykö hakemistolistaus
DIR-komennon hakemistolistaus tiedostosta DIR.TXT. Tiedostoa voit katsella EDIT-ohjelmalla.
- Tutki mitä SORT-ohjelma tekee?
- Käytä SORT-ohjelmaa siten, että DIR-komennon tuloste putkitetaan SORT-ohjelman
läpi ja sen jälkeen uudelleen suunnataan tiedostoon DIR.TXT .
- Lisää DIR.TXT tiedoston loppuun DIR-komennon tuloste,
joka on järjestetty SORT-komennolla laskevaan järjestykseen.
- Tutki mitä XCOPY-komento tekee? Komentoa tullaan tarvitsemaan myöhemmissä demotehtävissä.
- Tutki mitä komento DELTREE (Windows95/98) tai RMDIR /S (Windows NT/2000) tekee? Komento on hieman vaarallinen, mutta se on oikeissa käsissä tehokas.
Komentojonojen perusteita
Seuraavassa listassa on vihjeitä komentojonojen
tekemiseen:
- Komentojono on tiedosto, joka sisältää
DOS-komentoja.
- Komentojonotiedosto voidaan kirjoittaa EDIT-editorilla
tai NOTEPAD-tekstieditorilla.
- Komentojono tallennetaan
.BAT-päätteiseksi. Toinen mahdollinen tiedostopääte on .CMD, mutta se ei toimi Windows 95:ssä ja Windows 98:ssa.
- Komentojono voidaan ajaa kirjoittamalla pelkästään komentojonotiedoston nimi komentoriville, jos
ollaan samassa hakemistossa kuin komentojono.
Komentojonoon voi viitata absoluuttista tai suhteellista viittausta käyttäen
myös toisesta hakemistosta.
- Demoissa tehtävät komentojonot kannattaa tallentaa
esimerkiksi tehtävien nimelle, jolloin kaikki
tehdyt komentojonot jäävät talteen.
- Uuden komentojonon tekemisessä kannattaa
käyttää pohjana aiemmin tehtyjä
komentojonoja.
Edellisissä tehtävissä käytettiin
tarvittavia DOS-komentoja suoraan komentoriviltä, mutta seuraavissa tehtävissä
samoja asioita tehdään komentojonotiedostolla.
Komentojonoa lähdetään kehittämään hyvin
yksinkertaisen esimerkin pohjalta. Kehitettävästä
komentojonosta ei tule vielä kovin
käyttökelpoista, mutta tarkoituksena on oppia
komentojonon kirjoittamisen periaatteet.
- Vaihda oletushakemistoksi BATIT-hakemisto.
- Tee oletushakemistoon komentojono, joka tulostaa käyttäjälle tervehdyksen "Mukavaa päivää". (Vihje: ECHO)
- Tallenna komentojono ja kokeile sen toimintaa.
- Komentojono tulostaa nyt myös komentorivit. Muuta komentojono sellaiseksi,
että komentojono tulostaa ainoastaan tekstin "Mukavaa päivää".
- Muuta komentojono sellaiseksi, että komentojonolle voidaan antaa parametrina oma nimi,
joka tulostetaan tervehdyksen yhteydessä (esim. "Mukavaa päivää Pete!").
Komentojonoa siis kutsuttaisiin esimerkiksi seuraavassa muodossa: terve.bat Pete
(Vihje: %1)
- Tee oletushakemistoon uusi komentojono, joka tekee oletushakemiston
alle hakemiston nimelle TEMP.
- Ideana on siis käyttää hakemiston luomiseen samaa komentoa kuin
DOS-komentojen kertaamisen yhteydessä.
- Tallenna komentojono ja kokeile sen toimintaa.
- Muuta komentojono sellaiseksi, että hakemiston luomisen jälkeen tulostetaan
luodun hakemiston sisältö näkyville.
- Muuta komentojono sellaiseksi, että hakemiston luomisen jälkeen hakemistoon
kopioidaan jokin (saat itse päättää mikä) BATIT-hakemiston tiedosto
ja tämän jälkeen tulostetaan tehdyn hakemiston sisältö.
Tekemäsi komentojono ei kuitenkaan ole kovin yleiskäyttöinen,
koska sillä voi tehdä vain TEMP-nimisiä hakemistoja.
Tehdään komentojonosta seuraavaksi
yleiskäyttöisempi versio.
- Muuta komentojonoa siten, että käyttäjä voi antaa luotavan hakemiston nimen parametrina
komentojonolle.
- Muuta komentojonoa siten, että käyttäjä voi antaa toisena parametrina
luotuun hakemistoon kopioitavan tiedoston nimen. Voidaan olettaa, että kopioitava tiedosto sijaitsee
oletushakemistossa.
- Muokkaa edellä kehitetystä komentojonosta hieman käyttäjäystävällisempi eli lisää käyttälle annettavaa informaatiota ja poista kaikki ylimääräiset tulosteet.
- Edellä tehty komentojono toimii virheellisesti, jos
käyttäjän antama hakemisto on valmiiksi olemassa.
Muuta komentojono sellaiseksi, että käyttäjän
antama hakemisto tehdään vain, jos sitä ei ole
ennestään olemassa.
Hakemiston tekemisestä tai sen
epäonnistumisesta täytyy informoida
käyttäjää. (Vihje: IF ja GOTO)
- Kehitetään komentojonoa siten, että
komentojono pysähtyy ennen hakemiston tekemistä ja
antaa käyttäjälle mahdollisuuden
keskeyttää komentojonon suorittaminen painamalla CTRL-C
näppäinyhdistelmää. (Vihje: PAUSE)
- Muuta komentojonoa siten, että se tutkii antaako käyttäjä ensimmäisenä tai toisena parametrina mitään.
Jos toista parametria ei anneta, niin komentojono kopioi kaikki oletushakemiston tiedostot luotuun hakemistoon.
Jos ensimmäisestä parametria ei anneta, niin komentojonon suoritus keskeytetään.
Lisätehtäviä
- Eräs edellä toteutetun komentojonon kehittämisidea voisi olla käyttäjän antaman kokonaisen hakemistorakenteen kopiointi tehtyyn hakemistoon.
Tämä voidaan toteuttaa XCOPY-komennon avulla. Muuta komentojono käyttämään XCOPY-komentoa.
- Muuta edellä tehty komentojono sellaiseksi, että
komentojonolle annetaan ensin kopioinnin kohdehakemisto ja
tämän jälkeen voidaan antaa parametrina mielivaltainen
määrä kopioitavia tiedostoja (siis enemmän
kuin 9 kappaletta). (Vihje: SET, SHIFT, IF ja GOTO)