Demo 1 - Komentojonot

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.

Kaikki demotehtävät voi tehdä Windows 2000, Windows NT:n tai Windows 95:n komentokehotteessa (engl. Command 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. Komento-opasteen saa käyntiin Windows 2000:ssa 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 (ntcmds.hlp). Avustuksesta löytyy demoissa tarvittavien komentojen syntaksi eli muoto ja esimerkkejä niiden käytöstä. Avustusta kannattaa opetella käyttämään!

DOS-komentojen kertaus

Seuraavat demotehtävät tehdään komentokehotteessa (engl. Command Prompt). Komentokehotteen saat auki valinnalla Start | Command Prompt.

  1. Tee U:-levyasemalle LAITTEISTOT niminen hakemisto ja vaihda oletushakemistoksi tekemäsi hakemisto eli siirry tekemääsi hakemistoon. (Vihje: MKDIR ja CD)
  2. Tee oletushakemistoon tiedosto, joka sisältää nimesi ja osoitteesi EDIT-tekstieditorin avulla. Tallenna tiedosto nimelle MINA.TXT.
  3. Tee oletushakemiston alle alihakemisto BATIT.
  4. Kopioi tiedosto MINA.TXT BATIT-hakemistoon käyttäen suhteellista viittausta. Siirry BATIT-hakemistoon ja varmista, että tiedosto on kopioitunut hakemistoon. (Vihje: COPY)
  5. Uudelleennimeä LAITTEISTOT-hakemistossa oleva MINA.TXT-niminen tiedosto nimelle MINA2.TXT. (Vihje: RENAME)
  6. Siirrä LAITTEISTOT-hakemistossa oleva tiedosto MINA2.TXT BATIT-hakemistoon käyttäen absoluuttista viittausta. Varmista lopuksi tiedoston siirtyminen. (Vihje: MOVE)
  7. Tuhoa BATIT-hakemistossa olevat tiedostot ja palaa tämän jälkeen omalla nimelläsi varustettuun hakemistoon. (Vihje: DEL)

Komentojonojen perusteita

Seuraavassa listassa on vihjeitä komentojonojen tekemiseen.

Seuraavissa tehtävissä 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.

  1. Edellisissä tehtävissä käytettiin tarvittavia DOS-komentoja suoraan komentoriviltä, mutta nyt samoja asioita tehdään komentojonotiedostolla. Siirry aluksi BATIT-hakemistoon.

    Tee oletushakemistoon komentojono, joka tekee oletushakemiston alle hakemiston nimelle TEMP. Tallenna komentojono nimelle TEHT1.BAT. Ideana on siis käyttää hakemiston luomiseen samaa komentoa kuin DOS-komentojen kertaamisen yhteydessä. Aja komentojono, kun se on valmis ja varmista, että se toimii oikein.

  2. Kehitetään edellistä komentojonoa hieman paremmaksi. Muuta komentojono sellaiseksi, että TEMP-nimisen hakemiston tekemisen jälkeen vaihdetaan se oletushakemistoksi. Huomaa, että edellä tehty hakemisto kannattaa poistaa ennen komentojonon ajamista.
  3. Muuta komentojono sellaiseksi, että hakemiston tekemisen ja sinne siirtymisen jälkeen tulostetaan myös oletushakemiston 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.
  4. Tee komentojonosta versio, jolle käyttäjä voi antaa parametrina tehtävän hakemiston nimen. Komentojonolle voitiin antaa parametrejä sen kutsumisen yhteydessä. Uutta komentojonoa voitaisiin esimerkiksi kutsua seuraavasti: TEHT4 TAMP. Edellisellä kutsulla komentojonon pitäisi tehdä TAMP-niminen hakemisto ja siirtyä hakemistoon, jonka jälkeen se tulostaisi hakemiston sisällön. Hakemiston nimen saa siis päättää komentojonon käyttäjä. (Vihje: %1)
  5. Kun edellä tehty komentojono toimii hyvin, pitää siihen lisätä hieman käyttäjäinformaatiota ja poistaa turhien komentojen näkyminen näytöllä. Käyttäjälle pitää kertoa mitä komentojono oikein teki. Käyttäjän ei kuitenkaan tarvitse nähdä tehtäviä komentoja komentorivillä, joten ne on piilotettava jotenkin. (Vihje: ECHO)

Hieman kehittyneempiä komentojonoja

  1. 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 pitää informoida käyttäjää. Lopuksi komentojono siirtää käyttäjän antaman hakemiston oletushakemistoksi ja antaa siitä hakemistolistauksen. (Vihje: IF ja GOTO)
  2. 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)
  3. Edellä toteutettu komentojono tutkii käyttäjän antaman hakemiston olemassaolon ja tekee hakemiston tarvittaessa. Muuta komentojono sellaiseksi, että käyttäjä antaa komentojonolle kaksi parametria. Ensimmäinen parametri kertoo mitä kopiodaan ja toinen parametri kertoo minne kopioidaan (Esimerkiksi TEHT7 MISTA\MITA MINNE). Komentojonossa voidaan olettaa, että kopioinnin kohde on aina hakemisto. Jos hakemistoa ei ole, komentojono tekee hakemiston ja vasta sen jälkeen suorittaa kopioinnin. Valmiina löytyvä XCOPY-komento ajaisi miltei saman asian. XCOPYn on täysin englanninkielinen ja se ei oleta kohteen olevan hakemisto. Kannattaa kuitenkin yrittää käyttää XCOPY-komentoa. (Vihje: %2)
  4. Muuta edellä tehty komentojono sellaiseksi, että komentojonolle annetaan ensin kopioinnin kohdehakemisto ja tämän jälkeen voidaan antaa mielivaltainen määrä kopioitavia tiedostoja (siis enemmän kuin 9 kappaletta). (Vihje: SET, SHIFT, IF ja GOTO)

http://appro.mit.jyu.fi /2000/syksy/laitteistot/demot/demo1/index.html
© Tommi Lahtonen ()<URL: http://www.iki.fi/hazor/>
31.10.2000 12:18:11