Komentojonotyökalujen vastaukset

Tehtävä 1

kovalevy.bat - kopioi .cpp-, .doc- ja .xls-päätteiset tiedostot levykkeeltä kovalevylle vastaavaan hakemistorakenteeseen. Kopionti tehdään vain, jos levykkeellä olevat tiedostot ovat uudempia kuin kovalevyllä olevat.

@ECHO OFF

IF "%1"=="" GOTO puuttuu
IF not EXIST %1 GOTO virhe

ECHO Kopioidaan levykeasema A:\ hakemistorakenne kovalevyn %1 hakemistoon 
ECHO Voit peruuttaa tapahtuman painamalla CTRL-C !
ECHO Kopiointi alkaa painaessasi mitä tahansa näppäintä

pause > nul

xcopy /e /d a:\*.doc %1
xcopy /e /d a:\*.xls %1
xcopy /e /d a:\*.cpp %1

goto loppu

:virhe
ECHO Kohteeksi antamaasi hakemistoa ei löytynyt!
goto loppu

:puuttuu
ECHO.
ECHO Et antanut parametriä!
ECHO Komento on muotoa:         kovalle kohdehakemisto
ECHO.
:loppu
Kutsutaan kovalle kohde_hakemisto

Komentojonossa olisi päivämäärän tarkistamisen sijasta parempi käyttää esimerkiksi tiedostojen attribuutteihin liittyviä tarkistuksia, joita voidaan tehdä /m-ominaisuuden avulla. Esimerkiksi verkon yli kopioitaessa tiedoston muutosajan vertailu ei välttämättä onnistu.

Tiedostoissa on attribuutteja, jotka esimerkiksi Windowsissa saa näkyville tiedoston ominaisuuksia katsomalla. Komentoriviltä tiedoston attribuutteja voi katsoa attrib-komennolla. Tiedostoilla on a-attribuutti, joka asetataan päälle tiedoston luonnin yhteydessä sekä tiedostoon tehtävien muutosten yhteydessä. Seuraavassa vaiheittain miten attribuutin vertailuun perustuva varmuuskopiointi toimii:

Tehtävä 4

pura.bat - purkaa parametrina annetun pakkauksen parmetrina annettuun hakemistoon.

@ECHO OFF

IF "%1"=="" GOTO puuttuu
IF "%2"=="" GOTO puuttuu

IF NOT EXIST %1 GOTO virhe
IF NOT EXIST %2 MD %2

ECHO Puretaan zip-paketti %1 antamaasi hakemistoon %2
ECHO Voit peruuttaa tapahtuman painamalla CTRL-C !
ECHO Purkaminen alkaa painaessasi mitä tahansa näppäintä

pause > nul

pkunzip -e %1 %2

goto loppu

:virhe
ECHO Määrittelemääsi (%1)pakettia ei löytynyt!
goto loppu

:puuttuu
ECHO.
ECHO Et antanut parametriä!
ECHO Komento on muotoa:         pura paketti.zip hakemistonimi
ECHO.
:loppu

Kutsutaan: pura paketti.zip hakemistonimi

Tehtävä 5

skannaa.bat - puhdistaa automaattisesti koneen kiintolevyt viruksista


 
@ECHO OFF
ECHO.
ECHO Tutkitaan koneen käynnistyslohko ja kovalevy virusten varalta. 
ECHO Virusten poistaminen tehdään automaattisesti!
ECHO Voit peruuttaa tapahtuman painamalla CTRL-C !
ECHO Virusten etsintä alkaa painaessasi mitä tahansa näppäintä..
ECHO Jos haluat keskeyttää virustarkistuksen paina ESC-näppäintä.
ECHO. 
PAUSE > NUL

f-prot /hard /disinf /auto 

Kutsutaan: skannaa

Tehtävä 6

pakkaaA.bat - pakkaa parametrina annetn hakemiston sisällön korpun kokoisiin paketteihin oletushakemistoon.

 
@ECHO OFF

IF "%1"=="" GOTO puuttuu

IF NOT EXIST %1 GOTO virhe

ECHO.
ECHO Pakataan hakemisto %1 korpun kokoisiksi paketeiksi oletushakemistoon
ECHO Voit peruuttaa tapahtuman painamalla CTRL-C !
ECHO Kopiointi alkaa painaessasi mitä tahansa näppäintä
ECHO.

pause > nul

arj a -v1440 -r -y korppu.arj %1

goto loppu

:virhe
ECHO Määrittelemääsi (%1)hakemistoa ei löytynyt!
goto loppu

:puuttuu
ECHO.
ECHO Et antanut parametriä!
ECHO Komento on muotoa:         pakkaa_a hakemistonimi
ECHO.
:loppu
Kutsutaan: pakkaaA tiedosto_tai_hakemisto

Tehtävä 7

pura.bat - purkaa oletushakemistossa olevat tiedostot vastaavaan hakemistorakenteeseen, josta tiedostot pakattiin.

 

@ECHO OFF

ECHO Puretaan arj-paketti oletushakemistoon
ECHO Voit peruuttaa tapahtuman painamalla CTRL-C !
ECHO Kopiointi alkaa painaessasi mitä tahansa näppäintä

pause > nul

arj x -va -y korppu.arj
Kutsutaan: pura

Tehtävä 8

kopi_p2c.bat - kopioi scp-ohjelman avulla palvelinkoneen hakemistorakenteesta tiedostoja lokaalin koneen hakemistorakenteeseen. Kyseessä on toistuva kopiointi saman hakemistorakenteen avulla.

 
@ECHO OFF

scp peheinon@tukki.cc.jyu.fi:www/%1 C:\omat\peheinon\%2

Kutsutaan: kopi_p2c p_mista l_minne
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/laitteistot/demot/demo2/vastaukset2.html
© Tommi Lahtonen (tommi.j.lahtonen@jyu.fi)<URL: http://www.iki.fi/hazor/>
2003-02-26 09:16:49