I dette blogginnlegget skal jeg vise dere hvordan jeg har løst følgende oppgave :
Lag en mappe på c:\test\
Lag en mappe på c:\test2
fyll mappen c:\test med filer, min 10 filer og 2 undermapper med filer.
lag ett script som gjør:
Kopierer hele innholdet fra c:\test\ til c:\test2
Slett alle filr i c:\test
sett alle filer på c:\test2 til hidden og read only
Flytt alle filer fra c:\test2 til c:\test
rmdir C:\test2 /q /S
rmdir C:\test /q /s
rmdir C:\test2
mkdir C:\test
mkdir C:\test\um1
mkdir C:\test\um2
echo dok1 > C:\test\um1\hue11.txt
echo dok1 > C:\test\um1\hue10.txt
echo dok1 > C:\test\hue9.txt
echo dok1 > C:\test\um1\hue8.txt
echo dok1 > C:\test\um1\hue7.txt
echo dok1 > C:\test\um2\hue6.txt
echo dok1 > C:\test\um2\hue5.txt
echo dok1 > C:\test\um2\hue4.txt
echo dok1 > C:\test\um2\hue3.txt
echo dok1 > C:\test\um2\hue2.txt
echo dok1 > C:\test\um2\hue1.txt
mkdir C:\test2
pause
robocopy /mir C:\test C:\test2
pause
del C:\test /q /s
rmdir C:\test\um1 /q /S
rmdir C:\test\um2 /q /s
pause
attrib +r C:\test2\UM2
attrib +r C:\test2\UM1
attrib +h C:\test2\UM1
attrib +h C:\test2\UM2
pause
attrib -r C:\test2\UM1
attrib -R C:\test2\UM2
attrib -h C:\test2\UM2
attrib -h C:\test2\UM1
pause
robocopy /mir C:\test2 C:\test
rmdir C:\test2 /q /s
pause
Som dere ser er det første jeg gjør er å fjerne mappene, dette har jeg gjort for å slippe å slette de manuelt. Når jeg driver med noe slikt noe som jeg aldri har gjort før føler jeg at det er viktig å eksperimentere og derfor har jeg lagt inn i en kommando i scriptet som lager alle mappene og filene automatisk. Dette følte jeg ble den enkleste måten å fullføre oppgaven på selvom det helt sikkert finnes flere og mye bedre og lettere måter å lage det på. Som dere sikkert også ser har jeg brukt kommandoer som robocopy, rmdir, mkdir, attrib, echo, del og pause. Jeg skal nå forklare litt om hva de forskjellige kommandoene gjør.
Robocopy: Robocopy gjør det veldig enkelt å kopiere ett helt mappetre fra en mappe til en annen. Den tileggskommandoen jeg brukte her var /mir som tar ett "speilbilde" av den ene mappen og sender innholdet over i en annen mappe.
rmdir: rmdir er en enkel måte å fjerne mapper og innhold i hele mapper. I dette scriptet brukte jeg den til å fjerne innholdet i mappene som jeg hadde kopiert det utifra. /q /s tillegget bruker jeg for å slippe å skrive inn "j" hver gang jeg sletter eller fjerner en mappe.
mkdir: mkdir lager mapper. Den brukte jeg for å lage mappenen og undermappene jeg trengte til denne oppgaven.
attrib: attrib brukes til å sette forskjellige attributter som read only og hidden. Som dere kan se i scriptet bruker man det ved å enten sette +r, +h, -r eller -h. Når det er ett minus tegn foran bokstaven (r=read only, h=hidden) fjerner den atributten og med en pluss foran legger den til atributten.
Echo:Echo kommandoen brukte jeg til å opprette dokumenter. Jeg syntes den fungerte veldig fint fordi da kan jeg sende en spesiell type tekst til et dokument som ikke trenger å være opprettet enda. Det er ikke det en kommandoen gjør vanligvis men det fikk jeg den til å gjøre ved å sende den over ved å bruke tegnet > og så spesifisere hva filen skal hete og hvor den skal legges.
del: del kommandoen sletter alt som er inne i en mappe men ikke selve mappen. Dette var en veldig kjekk kommando å ha når jeg ikke ville slette selve mappen men kun innholdet. Jeg måtte bruke /q /s for å slippe å skrive inn "j" hver gang jeg brukte kommandoen.
pause: pause kommandoen som dere sikkert skjønner legger inn en pause. Den pausen varer helt til noen trykker på "any key" som vil si alle knapper på tastaturet bortsett fra slike spesielle knapper som: capslock, numlock, ctrl, alt etc.. Den brukte jeg for å kunne se hva som skjer i scriptet når det forgår. Det er veldig kjekt når du eksprimenterer med ulike kommandoer en i stor batch-fil som det jeg har nå. Da kan du se hvor scriptet ikke fungerer som det skal.
Den andre oppgaven vi fikk lød slik:
Lag en bruker i AD med hjelp av "net user" kommandoen
Fjern den samme brukeren i AD med "net user"
Den kommandoen valgte jeg å skrive slik: net user Ola hemmlig /add
Den kommandoen kan er veldig enkel, det er fordi det kun er å skrive net user, så legge til brukernavnet og ett mellomrom og så skrive passordet og så /add. Så derfor når brukernavnet skal være: Ola, og passordet skal være hemmlig og du skal legge den til er det kun å skrive kommandoen slik jeg gjorde da jeg viste dere kommandoen jeg brukte.
Den andre kommandoen for å fjerne brukere i AD er: net user Ola /delete
Denne kommandoen er enklere å bruke enn den jeg brukte når jeg skulle legge til brukere. Det er fordi det kun er å skrive inn net user brukernavnet og så /delete bak. Net user kommandoen har ekstremt mange forskjellige mmuligheter når det gjelder å spesifisere hva som skal skje med en bruker når du bruker batch.
Den siste oppgaven vi fikk lød slik:
skriv ut hele innholdet "c:\test" til filen c:\innhold.txt eks bruk "dir" kommandoen
Den løste jeg ved å bruke kommandoen: dir C:\test > C:\innhold.txt
Det den kommandoen gjorde var å sende hva innholdet i den mappen var ved å først velge spesifikt hvilken mappe den skulle hente informasjoenen fra og så ved å "pipe" (det gjør du ved å bruke ">" tegnet) til ett tekstdokument som du spesifikt velger hvor skal ligge og hva skal hete.
Takk for meg, håper noen fant dette innlegget nyttig og kommenter gjerne hvordan dere ville løst oppgavene på en lettere og mer oversiktlig metode.