fredag 2. desember 2011

Scripting med .bat

I den forrige server oppgaven drev vi så vidt med scripting i .bat filer, så denne uka skulle vi fordype oss enda mer i dette emnet. Vi fikk dermed noen oppgaver som vi skulle løse kun ved hjelp av et script som vi selv skulle skrive inn i et verktøy vi selv hadde valgt, og jeg valgte da som de fleste å skrive det i Notepad++, som er en mer avansert versjonen av den vanlige Notepad i Windows og fungerer ganske greit til å skrive inn .bat kommandoer.


1. Det var tre oppgaver, og den første gikk ut på å lage to mapper i C: og fylle en av dem med ti filer og to undermapper (dette skulle ikke bli gjort i script), og dermed bruke script for å kopiere alle filene over fra den første mappen og over til den andre, for å så slette alt i den første. Dermed skulle vi sette de nye filene som hidden og read only, og dermed flytte dem tilbake til den første mappen. Jeg bruke Google for å finne frem til script som jeg kunne bruke, og dette var det scriptet jeg kom frem til. I tillegg har jeg også satt forklaring under linje for hva de gjør.

@Echo off
-"Echo off" er en kommando som gjør at C:\Users\%brukernavn% ikke vises i hver linje. 
XCOPY C:\test\* "C:\test2\" /E
-"XCOPY" betyr kopier, og C:\test betyr hvilken mappe filene ligger, mens C:\test2 betyr målet for filene. * bak vil også si at alle filene i mappen skal bli kopierte, og /E vil si at den også kopierer undermapper.
Echo ======Filene er kopiert======
-Vanlig echo" vil si at neste ord ikke er en kommando, men normale ord som skal vises som en beskjed, og i dette tilfellet er meldingen bare noe jeg skrev inn for at man skal vite hva som nettopp skjedde.
Pause
-"Pause" er en simpel kommando som gjør at neste kommando ikke kommer før man har trykket på en knapp selv, slik at man enten kan lese igjennom informasjonen selv først, eller noe annet.
@Echo off
DEL C:\Test\*.*
DEL C:\Test\mappe1\*.*
DEL C:\Test\mappe2\*.*
-Nå skal filene slettes, så derfor setter vi inn "DEL" først for å informere om at noe skal slettes, mens C:\Test og  C:\Test\mappe er målet som skal slette. *.* betyr derimot at alle filer og undermapper skal slettes.
echo ======Filene er slettet======
Pause
@Echo off
attrib +R +H C:\test2\* /S /D
-"attrib" er en kommando som brukes når man skal sette lese/skrive sperrer, gjemme, og arkivere mapper, der R beyr read og H betyr hide. Pluss bruker vi når vi skal sette en på attribute, men man kan også bruke - for å fjerne den. /S og /D betyr og at man skal behandle både alle filer og alle undermapper.
echo ======Filene er gjort hidden og read only======
Pause
@Echo off
attrib -R -H C:\test2\* /S /D
-Nå måtte jeg fjerne skrivesperren og åpne filene for å kunne flytte dem, så da setter man bare - foran Read og Hide.
echo ======Filene er nå read/write og ikke lenger sjult=====
Pause
@Echo off
MOVE C:\test2\*.* C:\test\
-"MOVE" er en ganske åpenbar kommando, nemlig flytt, og man setter dette foran mappen man vil flytte. Igjen setter man *.* for å markere alle, og neste mål er det filene skal flyttes.
echo ======Fliene er nå flyttet======
Pause
-Etter denne pause kommandoen lukkes Command Promt som alt utføres i, og scriptet er fullført. 




2. Neste oppgave gikk ut på å lage en bruker, og dermed slette dem i Windows 2008 server kun ved bruk av .bat script. 

Echo off
-Denne kommandoen har akkurat samme betydningen som i stad, altså fjerne C:\Users\%brukernavn% foran hver linje.
net user /add %1 %2
-"Net user" er en ganske enkel kommando som brukes ved behandling av brukere, og /add betyr legge til. %1 og %2 er kommandoer som har hver sin betydning, der %1 er navn på brukeren, og %2 er passordet som brukeren skal få. Man kan sette det i hvilken rekkefølge man vil, men kommandoene vil alltid bety det samme.
pause
net user /delete %1
-Igjen betyr net user behandling av brukere, og /delete er det motsatte av å legge til, altså å slette dem. %1 betyr også brukeren som skal slettes.
pause
echo on
-"Echo on" betyr det motsatte av Echo off, altså at den viser det som echo off skjuler.




3. Den siste oppgaven gikk ut på å skrive ned alle filene i Test mappen på et tekstdokument. Dette var også det aller korteste scriptet.


cd C:\test
-"cd" betyr Change Directory, som gjør at man bytter katalog som informasjon ligger på, og C:\test betyr målet man skal gå til.
dir
-"dir" betyr at man skal få frem alle filene i den katalogen man har gått til.
dir > innhold.txt
-Når man skrever dette, så betyr det simpelthen at man skriver ned alle filene i C:\test til et tekstdokument.


Ingen kommentarer:

Legg inn en kommentar