Tråd bedømmelse:
  • 0 Stemmer - 0 Gennemsnit
  • 1
  • 2
  • 3
  • 4
  • 5
Batch tutorial #1
06-10-2013, 19:03 (Denne besked var sidst ændret: 06-10-2013, 19:10 af Slicetown.)
#1
Batch tutorial #1
Velkommen til en Batch tutorial #1


Ting i skal bruge til denne tutorial:


- Notepad
- Fantasien

Introduktion:
Hej, Batch er et meget simpelt og forholdsvis let sprog at lære. Dette vil være min første lektion omkring Batch hvor jeg vil prøve at give jer en lille smag for hvad man kan lave med det. Hvis folk kan lide dette vil jeg med glæde lave flere tutorials omkring hvordan Batch kan blive brugt i andre situationer. Så hvis i gerne vil lære at kode er Batch et rigtig godt sprog at starte med.

Hvad er Batch?
Batch er et scripting sprog. Du skriver en række koder som bliver udført i kronologisk ordrer. Batch fik sit navn på grund af man skriver en lang rækker koder af kommandoer (Batch). Filerne blev opfundet så man kunne udføre opgaver hurtigere. Batch filer er også det der holder dit Windows operativ system kørende. I ethvert Windows system er der mindst 1 Batch fil der er yderst vigtig for at dit system kan køre ordenligt.

Starten på din Batch verden:
Den første kode vi skal lære er "@Echo off" - Hvad koden gør er at den ikke viser hvilke stier der bliver gået igennem når du kører din Batch fil. Det får også din Batch fil til at se professionel ud.

Citer:@Echo off

Nu når vi undgår at vise vores stier betyder det at vi kan få vores program til at sige noget.

"Echo" - det er koden der viser tekst på vores kommando prompt.

Citer:Echo Hello world.

Så det her er vores kode indtil videre:

Citer:@Echo off
Echo Hello world.

Viser vi gemmer det her (Som jeg viser snart hvordan man gør), vil der ikke rigtig ske noget. Jo, skærmen ville vise sig i 1 sekund og forsvinde igen.

DERFOR - Skal vi adde et "pause" til vores kode. Pause er med til at lave en pause i vores program; Hvilket vi ser her.

KODE:

Citer:@Echo off
Echo Hello world.
pause

VISUELT:
[Billede: 7IKeswP.jpg]

Nu kan se hvad der sker, men ups? Ved du ikke hvordan man gemmer filen? Det skal jeg nok vise dig nu!

- Step 1: Gå til "Fil"->"Gem som"

- Step 2: Navngiv din fil og tilføj ".bat" i slutningen (Eksempel: "Helloworld.bat")

- Step 3: Som filtype skal du vælge "Alle filer" og ikke "Tekst dokument".

Nu når vi har lært det kan du køre din Batch fil og rent faktisk se hvad du har kodet.
Tillykke! Du har lige begyndt din rejse ind i Batch filernes verden.

Hvis du gerne vil lave din Batch-fil om igen skal du bare højreklikke og trykke "Rediger" og sørg for at du har administrator tilladelse på din computer så du 100% kan køre dine Batch filer.


Ekstra guf til koden:

Vi kan starte ud med at navngive vores Batchfil. På det forrige billede kunne man se at programmet bare kørte i cmd.exe - men gør sådan her.

Citer:@Echo off
Title Batch er awesome
Echo Hello world.
pause

Så vil dit program have fået en titel.

[Billede: QXSCPsQ.png]

Det næste vi går videre til er farver! Du vil jo gerne kunne give din Batch fil nogle fede farver, så her er en liste overfor farvekombinationer og koderne til at få dem til at virke:

0 = Black
1 = Blue
2 = Green
3 = Aqua
4 = Red
5 = Purple
6 = Yellow
7 = White
8 = Gray
9 = Light Blue
A = Light Green
B = Light Aqua
C = Light Red
D = Light Purple
E = Light Yellow
F = Bright White

Citer:Color ??

Sådan er koden, men vi skal udskifte de to spørgsmålstegn med en værdi fra ovenstående tekst. Det første spørgsmålstegn er baggrundsfarve, imens det andet spørgsmålstegn er for skriftfarve.

Bare tilføj "Color" koden efter "Title" og så burde der ikke forekomme problemer - Så koden ville måske se sådan her ud:

Citer:@Echo off
Title Batch er awesome
Color 02
Echo Hello world.
pause

Så vil min baggrundsfarve være sort (0) og min skrifttype ville være grøn (2).

Så nu når vi har dækket farve og titel kunne vi også tilføje en "Loading" effekt som får vores Batch-fil til at se lidt mere skræmmende ud.

Koden til Loading effekten vil se sådan her ud ren simpelt.

Citer:ping localhost -n 2 >nul
cls

Denne kode gør så vi kommer forbi vores "Pause" uden at skulle trykke på en tast for at komme videre. Det er ">nul" som gør det muligt. Hvor lang en pause har det så før den går videre til næste kode? Det bestemmer du - i dette tilfælde har vi brugt 2 sekunder, hvilket du kan skifte til hvad du vil!

Så hvordan ser koden ud fuldendt?
Citer:@Echo off
echo Loading.
ping localhost -n 2 >nul
cls
echo Loading..
ping localhost -n 2 >nul
cls
echo Loading...
ping localhost -n 2 >nul
cls

Hvad kommer der til at ske så? Ja, vores Batch-fil bruger stadigvæk "Echo" til at vise tekst, så vores kode vil komme op med en skærm hvor der står "Loading." - Hvor der går 2 sekunder og så går den videre ned til "Loading.." - Sådan følger den koden ned ad kronologisk og giver en fed effekt.

Så lad os nu bruge alle de koder vi har lært indtil nu og føre dem ind i vores Batch-fil.

Citer:@echo off
title My Program
color 0a
echo Loading.
ping localhost -n 2 >nul
cls
echo Loading..
ping localhost -n 2 >nul
cls
echo Loading...
ping localhost -n 2 >nul
cls
echo Hello World!
pause

Resultatet vil være dette:

[Billede: UtHjK.gif]

Kommando: Start + at starte programmer/applikationer

Hvis vi nu gerne vil åbne et program fra vores Batch fil ville vi bruge kommandoen "Start" - Koden finder applikationen og udfører den ligesom hvis du ville dobbeltklikke på den og køre den derfra.

Citer:Start Notepad.exe

Det samme hvis vi gerne vil åbne en hjemmeside.

Citer:Start iexplore.exe

Hvis du så gerne ville åbne en hjemmeside kommer det til at se lidt anderledes ud.

Citer:Start iexplore www.google.dk

Hvis du så gerne vil åbne billeder skal du finde filens lokation. Det gør du ved at trykke på "Egenskaber" ved billedet og kopiere filens "Placering".

[Billede: 5IAqore.jpg]

Du skal derefter huske navnet på filen og dets extension (I det her tilfælde Eksempel.jpg)

Så koden ville se sådan herud:

Citer:Start C:\Users\%Brugernavn%\Desktop\Ekesempel.jpg

Loops

Et Loop kan blive brugt til mange sjove ting - f.eks. at crashe en computer!

Loop's laves ved at lave et kolon ( : ) og navngive loopet på en ny linje.
Og slutningen af loopet skal så være goto Loop1 for at komme tilbage til starten af loopet. Så koden gentager sig igen i evighed (F.eks. indtil CPU'en ikke kan klare mere og crasher)

Citer::Loop1
Goto :Loop1

Det vil sige at vores kode ville se sådan her ud med alt andet indblandet.

Citer:@Echo off
:Loop1
Echo Hello world!
goto :Loop1

Så kan du jo være kreativ og bruge loopet til mange sjove og forskellige ting. Det er blandt andet også med det man laver Matrix effekten!

Bruger Variabler og interaktion

Koder der vil blive dækket:

set /p
if
goto
exit


Den første vi starter ud med er "Set /p" - det er en variabel som vi kan bruge til at f.eks. lave "options", spil eller jeres egen lommeregner i jeres Batch fil. Så koden ville være sådan her:

Citer:Set /p=[Navn på variabel]

Der kan stå hvad som helst.

For det andet skal vi bruge "If" - Det er med til at gøre så vores bruger input fra "Set /p" funktionel. Når vi bruger if bruger den det svar du indtastede til at gå videre i koden og på den måde kan man nå separate steder hen i koderne så de ikke bare flyver kronologisk ned.

Næstsidst har vi "goto" som vi også lærte ved vores loop. Så simpel som koden er betyder det bare at den fører dig til et separat sted i din kode, dette bruges loops også til; At skabe sektioner i din kode.

Exit - Det betyder simpelt at det lukker den for din kode og kommando prompten.

Så lad os komme i gang! Hvad kan vi lave ud af det vi lige har læst om? Lad os nu se, prøv at sætte koderne sammen! En typisk kode med dette ville se sådan her ud:

Citer:@Echo off
Color 02
Title Quiz
:MAIN
Cls
Echo Type 1 and press Enter to play the game.
Echo Type 2 and press Enter for Instructions.
Echo Type 3 and press Enter to quit the game.
Set /p input=INPUT:
if %input%==1 Goto GAME
if %input%==2 Goto INST.
if %input%==3 Goto QUIT
if %input%==4 exit

I koden kan i se at "if" efterfølges med "%input%==" og det er simpelthen bare at den værdi i giver variablen bliver indlæst i "if" koden.

Mange tak fordi i tog et kig på min tutorial - Jeg håber i kan bruge den og gerne vil have flere, men mere avanceret tutorials herind.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
06-10-2013, 20:40
#2
RE: Batch tutorial #1
Fin gennemgang, men jeg synes det er vigtigt at pointere at der ikke er tale om koder, men kommandoer/programmer, som du også kan bruge direkte i prompten. Det er netop det der gør batch til et scriptsprog frem for et programmeringssprog, at det eneste den reelt gør, er at starte andre programmer for at udføre en handling.

@ECHO OFF handler ikke om at skjule ting. Den fortæller kommandoprompt at den ikke skal gengive det der bliver sendt til den, altså de kommandoer der bliver kørt.

Til sidst vil jeg også gøre opmærksom på at ping ikke er beregnet til at lave pauser, det egner sig bare meget godt til det. Grunden til dette er, at den sender en request en gang i sekundet, og derfor også er nem at bruge som x-sekunders ventetid.
I mange tilfælde vil localhost vare et gyldigt navn og ventetiden vil være meget kort, derfor kan det være en fordel at bruge en ikke-eksisterende IP-addresse i stedet, såsom 0.0.0.0.
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
06-10-2013, 20:44
#3
RE: Batch tutorial #1
Mange tak for at kommentere på min tråd. Jeg vil ikke sige at jeg ved alt om Batch, så derfor tak fordi du har rettet mine fejl i denne tutorial - Derved sagt at jeg stadig håber i lærer noget af den.
Find alle beskeder fra denne bruger
Citer denne besked i et svar
06-10-2013, 23:57
#4
RE: Batch tutorial #1
(06-10-2013, 20:44)Slicetown Skrev: Mange tak for at kommentere på min tråd. Jeg vil ikke sige at jeg ved alt om Batch, så derfor tak fordi du har rettet mine fejl i denne tutorial - Derved sagt at jeg stadig håber i lærer noget af den.

Som sagt, rigtig god guide du har lavet, jeg har bare pointeret nogle små detaljer der måske nok ikke er så interessante for de der bare vil lære at kode :)
Mangler du hjælp?
Regler |  E-mail (PGP)
Besøg denne brugers hjemmeside Find alle beskeder fra denne bruger
Citer denne besked i et svar
07-10-2013, 08:40
#5
RE: Batch tutorial #1
Super guide! fin forklaret til de nye også :D
There is 3 rules for a life.
1. fuck.
2. Dont give a fuck.
3. Dont be fucked over
Find alle beskeder fra denne bruger
Citer denne besked i et svar
09-10-2013, 12:45
#6
RE: Batch tutorial #1
Scriptsprog er skam også programmeringssprog.
Definitionen på et programmeringssprog er (taget fra Wikipedia): "Programmeringssprog er kunstige sprog som er designet til at udføre beregninger på en computer. Programmeringssprog anvendes til programmering, som er at skabe computerprogrammer, og til at udtrykke algoritmer præcist."

Det kan batch, og derfor er det også på Wikipedias liste over programmeringssprog: http://en.wikipedia.org/wiki/List_of_pro..._languages
Find alle beskeder fra denne bruger
Citer denne besked i et svar
09-10-2013, 12:48
#7
RE: Batch tutorial #1
Bedste Batch kode at kende:

Start Virus.bat
Virus.bat

Og så kald den Virus.bat - ÅBEN DEN, OG BLIV GLAD :3
Find alle beskeder fra denne bruger
Citer denne besked i et svar
« Ældre | Nyere »




User(s) browsing this thread: 1 Gæst(er)