Copyright To:
©RDGVBS
©VBSboy
©BATCH-programmer
Welkom bij nog een BATCH les.
Dit is LES 2.
--## LES : 2
Wat gaan we deze Les behandelen -->
TITLE
CLS
CMD
SET + %%
<---------
Nu je de volgende Commando's geleerd hebt ( En wat heel belangrijk is --> Beheerst ) #ECHO - #PAUSE - #GOTO - #EXIT - Kunnen we het BATCH Bestandje ---> "Hello World.bat" <---- Wat gaan verfraaien.
Als je nu je BATCH bestand Opent dan zie je helemaal boven aan (als je niet in "Voledig Scherm" zit) de naam van het bestand.
Alleen is dat iets in de richting van c:\WINDOWS\nog wat
Dit willen we dus veranderen.
Stel voor dat we het veranderen in "My Hello World File".
Dan gebruiken we daarvoor de commando ---> TITLE <----
Met de Commando TITLE geef je aan dat wat volgt de Titel word van het SCHERM.
Dus we zetten achter de TITLE command ---> My Hello World File <---
Dan word het dus zoiets als dit --------------->
@ECHO OFF
:label1
TITLE My Hello World File
ECHO.
ECHO.
ECHO Hello World
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
------------------------------------------------------------------------------
Nu heeft het Bestand als je het Opent de Titel "My Hello World File" en zodra het script label2 uitvoert verandert de Titel naar "My Hello World File -- 2 ".
!! Even voor de Duidelijkheid !!! ---> Je verandert hier niet de naam van het bestand mee.
De TITLE command houd de naam van het SCERM aan Todat er een nieuwe TITLE Command word uitgevoert.
Dit behoort nog tot het simpele schrijven van het frame van het bestand ( Zo als ik dat noem ) ,, Want daadwerkelijk iets uitvoeren doet het nog niet.
Nu komt er (Één voor mij onmisbare) een Commando die erg handig is voor ons.
Eerst het Voorbeeld waarmee we gaan werken
-------------> Voorbeeld 1 ---------> V.1 --->
@ECHO off
goto label1
:label1
title Voorbeeld 1 - label1
echo.
echo.
echo hoi ik ben Pietje XD.
echo.
echo.
pause
goto label2
:label2
Title Voorbeeld 1 - exit
echo.
echo.
echo doei.
pause
exit
--------------------------------------------------------------------------
Als je les 1 onder controle hebt dan weet je nu hoe bovenstaande voorbeeld reageert als je hem RUNT.
Maar als we nu is ruimer gaan denken....
Stel voor dat we de berichten uit het voorbeeld ---> "echo hoi ik ben Pietje XD." --> en ---> doei. --> , Nou is onafhankelijk van elkaar willen laten weergeven.
dan moeten we dus op het juiste moment het scherm leeg maken.
ik bedoel dus -->
- Alle output op het scherm verbergen.
- op het gewenste moment het scherm leeg maken.
Hierdoor kunnen we de 2 "Berichten" onafhankelijk van elkaar weergeven.
Voor deze klus gebruiken we een Voorgeprogrammeerde BATCH commando die speciaal voor deze optie is geschreven.
De commando --> CLS --> ((Van CLear Screen)) --> ...
Hiermee "wissen" we letterlijk het scherm.
denk maar aan een krijtbord dat helemaal vol is gekrabbeld met "OUTPUT".
Vergelijk dan de commando ' CLS ' met een Bordenwisser dat het krijtbord schoon veegt.
Vanaf het punt dat het CLS commando word uitgevoerd word het scherm geleegd.
Dus laten we het gaan uitproberen met het voorbeeld.
We paken weer Voorbeeld 1 en voegen nu een aantal CLS commando's toe vlak na elke Title command --> dat lijkt mij de meest "Stratechische" plek voor de CLA commando's want we voegen er 2 toe.
Oke we paken de uiteindelijke voorbeeld 1 ------------->
-----> Voorbeeld 1 ----------> V.2 ----->
@ECHO off
goto label1
:label1
title Voorbeeld 1 - label1
CLS
echo.
echo.
echo hoi ik ben Pietje XD.
echo.
echo.
pause
goto label2
:label2
Title Voorbeeld 1 - exit
CLS
echo.
echo.
echo doei.
pause
exit
--------------------------------------------------------------------------
Als je de uitleg over de CLS commando hebt bijgehouden dan weet je nu dat er NA elke titel veranderering :
- Het scherm word leeg gemaakt.
- We onze doel hebben bereikt want we kunnen onze "Berichten" onafhankelijk van elkaar weergeven!!!
Zullen we dan nu onze CLS commando toepassen op onze "Hello World"(.bat) bestand?
We pakken hem er even bij en voegen de CLS commando's er meteen even aan toe.
Zoals we net ook al deden --> Vlak na elke TITLE commando --> ..
$$$--------> Uiteindelijk word het Script zo ----->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
ECHO.
ECHO.
ECHO Hello World
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
Zo! ........... Nu hoef ik natuurlijk geen verdere uitleg te geven over de uitvoer van het bestand dus laten we meteen verder gaan.
Helaas maar ik kan helaas niks anders ( Sorry voor de gevorderde!! ) ,, ik kan jullie helaas nog niet de CMD commando leren.
Dit heb ik uitgesteld tot Les 6 waar ik ook ga schrijven over werken in Windows XP-opdrachteninterpreter.
Dit heb ik gedaan voor jullie best wil --> dit omdat ik hem zelf nog niet totaal begrijp (commando CMD) daar voor heb ik verdere studie nodig -->
******************* Note Message :
ik ga nu 2 ITEMS behandelen die inprincipe op elkaar aansluiten.
1 van de 2 ITEMS heb ik voorgetrokken en uit een andere les gehaald omdat dit ITEM prefect aansluit -
bij het andere ITEM.
De ITEMS zijn : -------> SET -------> %% (Variables) --------------->
We gaan door naar het ingewikeldste DEEL van de LES
Vanaf hier gaan we ons bestand dynamisch maken.
We gaan hem leren keuzes te maken.
Waardes te geven
Onderscheid maken.
Laten ljiken alsof het denkt.
Dit doen we met de Commando --> SET <------
Met SET kunnen we bijvoorbeeld een Variable een waarde geven , of juist leeg maken.
Je kan een variable zien als een CD met Waardes.
De computer leest die waardes van de CD af.
En de CD houd de waardes vast.
Todat er overheen geschreven word.
een Variable is inprincipe een stukje informatie met een naam.
ons programma kan op elk gewenst moment een Variable oproepen en de informatie inlezen.
Als we een Variable aan willen maken dan gebruiken we de SET commando gevolgd door de naam van de Variable.
achter de naam van de Variable zetten we een IS ( = ) teken om aan te geven dat de Variable alles na te = teken als waarden moet aan nemen.
De uiteindelijke commando om een Variable te zetten is : ----> SET (Variable naam) = (Waarde).
Stel voor dat we een Variable aan willen maken die bijvoorbeeld onze naam als waarden heeft.
dan maken we een Variable aan die --> "name" heet met daarachter je naam --> Bijvoorbeeld : --> naam : Pietje <--.
Dan word de volle commando zo : ----> SET name=Pietje <--
Laten we het toepassen op ons "Hello World" bestand :
- We voegen na de eerste CLS commando in label1 een SET commando toe.
- we geven de Variable de naam - name.
- we geven de waarden - Pietje - (of wat je wilt)
Uiteindelijk word het dit :
-------------------------------------------->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
SET name=Pietje
ECHO.
ECHO.
ECHO Hello World
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
in woorden vertaald luid onze commando nu zo :
Met --> SET --> geven we aan dat we een variable willen aanmaken --> de naam van onze Variable : name --> een "=" teken om aan te geven dat alles wat volgt de waarde moet zijn van de Variable Vóór de "=" teken. --> de waarden die de Variable aan moet nemen : Pietje.
Oke dan heb je nu Geleerd hoe je een Variable maakt en hem een waarde geeft,, maar je vraagt je nu dan af ... " Wat heb ik nu aan een Variable "
Nou dat zal ik even uitleggen.
Je weet dat een Variable word gebruikt om waardes vast te houden.
Maar aan Variables alleen maar waardes geven heeft geen zin tenzij je ze ook gaat gebruiken.
Om nu even op die vraag te komen ---------> " Wat heb ik nu aan een Variable " -----> : Nu nog niets en mischien de eerste paar onderdelen van de volle Tutorial ook nog niet.
Maar uiteindelijk zal ook JIJ de Variables hard nodig hebben.
Met Varaibles kan je een computer bijvoorbeeld keuzes laten maken.
Helaas kan ik hier niet teveel over vertellen omdat ik dan al informatie moet gaan geven dat pas een aantal onderdelen later aan bod komt.
in de loop van de tutorial zal je er steeds meer achterkomen wat Variables voor onmisbare functie hebben in BATCH (en alle andere programmeer talen ook hoor )
Nu behandel ik meteen onze voorgetrokken ITEM:
We hebben nu dus een Variable aan gemaakt.
Nu zou het erg handig zijn als we het konden gebruiken.
Wat als we nou de waardes uit onze Variable willen laten weergeven doormiddel van een ECHO commando?
Nou dat kan!!!
In BATCH kan je de inhoud van een Variable aanroepen door de naam van de Variable in te sluiten met een Procent-teken (%).
In batch kan je de inhoud van een Variable gebruiken door op de juiste plek de naam van de Variable te schrijven met aan beide kanten een Procent teken --> %%.
Dus daardoor word onze Varaible -> name --> %name%.
Dus als we onze Variable willen weergeven met een ECHO doen we dat zo --> ECHO %name%
Dus als we dat toepassen op ons script en het volgende toevoegen.
- onder het bericht "Hello World" voegen we een ECHO commando toe met daarachter onze Variable --> %name%
Ons Script ziet er dan als volgt uit ------------------->
-------------------------------------------->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
SET name=Pietje
ECHO.
ECHO.
ECHO Hello World
ECHO %name%
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
Als je het bestand nu opslaat en het bestand RUNT dan kan je zien dat er onder ons bericht "Hello World" een tekst word weergeven.
Die tekst is de inhoud van jouw Variable dus in dit geval is dat Pietje.
even voor de duidelijkheid --!!!--> Begin een Varaible nooit met een Cijver want dan zal hij ze verwarren met de Voorgeprogrammeerde Variable.
Nu gaan we even Terug naar de commando SET want daar was ik nog niet klaar mee.
In tegenstelling tot alle andere Commando's die je tot nu toe heb geleerd in deze Tutorial, Is de Commando SET een veelzijdige Commando.
Hier bedoel ik mee dat je hem kan uitbreiden.
Als voorbeeld neem ik HTML.
in HTML heb je een Element bijvoorbeeld <FONT>.
Maar door Aanwijzingen te geven --> Het element uit te breiden --> kan je bepalen hoe de FONT element functioneerd!
Zo is het ook met de Commando SET.
We nemen een Voorbeeld :
SET a=1 <-----
Variable "a" heeft nu de waarde 1 gekregen.
maar stel voor dat je die Variable wil verhogen met 1? --> dan voegen we een aanwijzing toe aan de Commando SET.
Door ---> /A <-- te schrijven na de Commando SET geef je de aanwijzing dat je de Variable gaat aanpassen door hem te Verhogen , Verlagen , Vermedigvuldigen , enz enz enz.
Na de aanwijzing geef je de naam op van de Variable gevolgd door de aanwijzing van wat er met de Varaible moet gebeuren.
Weergevolgd door een = teken om aan te geven dat alles wat volgt de waarde is van de Varaible.
Kortom als we de Variable "a" willen verhogen met 1 dan word onze Commando zo : --------->
SET /A a+=1 --> Varaible 1 met 1 verhogen vandaar die "+" die aangeeft dat de Varaible verhoogt word.
Dus door een "-" verlaag je de Variable.
Je kan een Variable ook anders aanpassen maar dat is ingewikkelder -------->
SET /A a=%a%+1 <---- hier staat : "a" is Inhoud van Varaible "a" plus 1
Moet je zelf maar even uitzoeken wat je handiger vind!..
Een andere optie van de SET commando is --> /P <--
De "/P" optie zorgt er voor dat er om Invoer word gevraagt.
Door de optie /P te gebruiken zorg je er voor dat de Variable de invoer als waardes aaneemt.
Bijvoorbeeld --->
SET /P var=
<--
Als je dit zal laten uitvoeren dan word er op deze regel om invoer van de gebruiker gevraagd.
De invoer word vervolgens in de Variable gestopt.
Als je dit doet -----> SET /P var=Je naam : <-- dan word "Je naam" niet als waarde aangenomen maar alles wat daarna komt wel.
Als we dit nu toepassen op onze bestand.
en we plaatsen de Commando "SET /P" --> 1 regel boven de PAUSE Command.
Dan word ons Script Uiteindelijk Zo:
-------------------------------------------->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
SET name=Pietje
ECHO.
ECHO.
ECHO Hello World
ECHO %name%
ECHO.
ECHO.
SET /P Age=Je leeftijd? :
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
Als je dit zal opslaan en je start het programma dan zal je vlak voor de PAUSE command een vraag krijgen met je leeftijd.
Na dat je op enter hebt gedrukt zal het programma verder gaan met uitvoeren.
Alles wat je invuld word opgeslagen in de Variable "Age" en kan je weer oproepen met "%Age%"
Zo kan je dit dus ook weer laten weergeven met een ECHO commando.
Opzich heb je hier nog niet zo heel veel aan.
Maar na een paar lessen zul je dit erg vaak zien terug komen.
Nou Hiermee Zijn we aan het Einde gekomen van deze les!.
Ik zal nu nog een paar voorbeelden laten zien.
--------------------------------------------------------------------------------------------------------------------
@echo off
cls
GOTO vars
:vars
Title Variables zetten
SET name=Pietje
SET age=18
Goto begin
:begin
Title begin
Cls
ECHO.
ECHO je naam is : %name%
Echo je leeftijd is : %age%
Echo.
pause
goto EX
:EX
cls
Title Einde
EXIT
----------------------------------------------------
@echo off
cls
goto DATA
ATA
SET /P name=Je naam :
SET /P age= Je leeftijd :
cls
goto SHOW
:SHOW
ECHO.
ECHO je naam = %name%
echo je leeftijd = %age%
pause
EXIT
--------------------------------------------------------
@echo off
cls
SET /p name=naam:
SeT /p age=leeftijd:
cls
ECHO naam = %name%
ECHO leeftijd = %age%
pause
exit
----------------------------------------------------------
Nou als je dit gevolg heb dan vind ik dat erg knap!
Dit was het einde van LES 2.
M,n volgende les komt in mijn volgende Post!
Ciao mensen
Copyright To:
©RDGVBS
©VBSboy
©BATCH-programmer
©RDGVBS
©VBSboy
©BATCH-programmer
Welkom bij nog een BATCH les.
Dit is LES 2.
--## LES : 2
Wat gaan we deze Les behandelen -->
TITLE
CLS
CMD
SET + %%
<---------
Nu je de volgende Commando's geleerd hebt ( En wat heel belangrijk is --> Beheerst ) #ECHO - #PAUSE - #GOTO - #EXIT - Kunnen we het BATCH Bestandje ---> "Hello World.bat" <---- Wat gaan verfraaien.
Als je nu je BATCH bestand Opent dan zie je helemaal boven aan (als je niet in "Voledig Scherm" zit) de naam van het bestand.
Alleen is dat iets in de richting van c:\WINDOWS\nog wat
Dit willen we dus veranderen.
Stel voor dat we het veranderen in "My Hello World File".
Dan gebruiken we daarvoor de commando ---> TITLE <----
Met de Commando TITLE geef je aan dat wat volgt de Titel word van het SCHERM.
Dus we zetten achter de TITLE command ---> My Hello World File <---
Dan word het dus zoiets als dit --------------->
@ECHO OFF
:label1
TITLE My Hello World File
ECHO.
ECHO.
ECHO Hello World
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
------------------------------------------------------------------------------
Nu heeft het Bestand als je het Opent de Titel "My Hello World File" en zodra het script label2 uitvoert verandert de Titel naar "My Hello World File -- 2 ".
!! Even voor de Duidelijkheid !!! ---> Je verandert hier niet de naam van het bestand mee.
De TITLE command houd de naam van het SCERM aan Todat er een nieuwe TITLE Command word uitgevoert.
Dit behoort nog tot het simpele schrijven van het frame van het bestand ( Zo als ik dat noem ) ,, Want daadwerkelijk iets uitvoeren doet het nog niet.
Nu komt er (Één voor mij onmisbare) een Commando die erg handig is voor ons.
Eerst het Voorbeeld waarmee we gaan werken
-------------> Voorbeeld 1 ---------> V.1 --->
@ECHO off
goto label1
:label1
title Voorbeeld 1 - label1
echo.
echo.
echo hoi ik ben Pietje XD.
echo.
echo.
pause
goto label2
:label2
Title Voorbeeld 1 - exit
echo.
echo.
echo doei.
pause
exit
--------------------------------------------------------------------------
Als je les 1 onder controle hebt dan weet je nu hoe bovenstaande voorbeeld reageert als je hem RUNT.
Maar als we nu is ruimer gaan denken....
Stel voor dat we de berichten uit het voorbeeld ---> "echo hoi ik ben Pietje XD." --> en ---> doei. --> , Nou is onafhankelijk van elkaar willen laten weergeven.
dan moeten we dus op het juiste moment het scherm leeg maken.
ik bedoel dus -->
- Alle output op het scherm verbergen.
- op het gewenste moment het scherm leeg maken.
Hierdoor kunnen we de 2 "Berichten" onafhankelijk van elkaar weergeven.
Voor deze klus gebruiken we een Voorgeprogrammeerde BATCH commando die speciaal voor deze optie is geschreven.
De commando --> CLS --> ((Van CLear Screen)) --> ...
Hiermee "wissen" we letterlijk het scherm.
denk maar aan een krijtbord dat helemaal vol is gekrabbeld met "OUTPUT".
Vergelijk dan de commando ' CLS ' met een Bordenwisser dat het krijtbord schoon veegt.
Vanaf het punt dat het CLS commando word uitgevoerd word het scherm geleegd.
Dus laten we het gaan uitproberen met het voorbeeld.
We paken weer Voorbeeld 1 en voegen nu een aantal CLS commando's toe vlak na elke Title command --> dat lijkt mij de meest "Stratechische" plek voor de CLA commando's want we voegen er 2 toe.
Oke we paken de uiteindelijke voorbeeld 1 ------------->
-----> Voorbeeld 1 ----------> V.2 ----->
@ECHO off
goto label1
:label1
title Voorbeeld 1 - label1
CLS
echo.
echo.
echo hoi ik ben Pietje XD.
echo.
echo.
pause
goto label2
:label2
Title Voorbeeld 1 - exit
CLS
echo.
echo.
echo doei.
pause
exit
--------------------------------------------------------------------------
Als je de uitleg over de CLS commando hebt bijgehouden dan weet je nu dat er NA elke titel veranderering :
- Het scherm word leeg gemaakt.
- We onze doel hebben bereikt want we kunnen onze "Berichten" onafhankelijk van elkaar weergeven!!!
Zullen we dan nu onze CLS commando toepassen op onze "Hello World"(.bat) bestand?
We pakken hem er even bij en voegen de CLS commando's er meteen even aan toe.
Zoals we net ook al deden --> Vlak na elke TITLE commando --> ..
$$$--------> Uiteindelijk word het Script zo ----->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
ECHO.
ECHO.
ECHO Hello World
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
Zo! ........... Nu hoef ik natuurlijk geen verdere uitleg te geven over de uitvoer van het bestand dus laten we meteen verder gaan.
Helaas maar ik kan helaas niks anders ( Sorry voor de gevorderde!! ) ,, ik kan jullie helaas nog niet de CMD commando leren.
Dit heb ik uitgesteld tot Les 6 waar ik ook ga schrijven over werken in Windows XP-opdrachteninterpreter.
Dit heb ik gedaan voor jullie best wil --> dit omdat ik hem zelf nog niet totaal begrijp (commando CMD) daar voor heb ik verdere studie nodig -->
******************* Note Message :
ik ga nu 2 ITEMS behandelen die inprincipe op elkaar aansluiten.
1 van de 2 ITEMS heb ik voorgetrokken en uit een andere les gehaald omdat dit ITEM prefect aansluit -
bij het andere ITEM.
De ITEMS zijn : -------> SET -------> %% (Variables) --------------->
We gaan door naar het ingewikeldste DEEL van de LES
Vanaf hier gaan we ons bestand dynamisch maken.
We gaan hem leren keuzes te maken.
Waardes te geven
Onderscheid maken.
Laten ljiken alsof het denkt.
Dit doen we met de Commando --> SET <------
Met SET kunnen we bijvoorbeeld een Variable een waarde geven , of juist leeg maken.
Je kan een variable zien als een CD met Waardes.
De computer leest die waardes van de CD af.
En de CD houd de waardes vast.
Todat er overheen geschreven word.
een Variable is inprincipe een stukje informatie met een naam.
ons programma kan op elk gewenst moment een Variable oproepen en de informatie inlezen.
Als we een Variable aan willen maken dan gebruiken we de SET commando gevolgd door de naam van de Variable.
achter de naam van de Variable zetten we een IS ( = ) teken om aan te geven dat de Variable alles na te = teken als waarden moet aan nemen.
De uiteindelijke commando om een Variable te zetten is : ----> SET (Variable naam) = (Waarde).
Stel voor dat we een Variable aan willen maken die bijvoorbeeld onze naam als waarden heeft.
dan maken we een Variable aan die --> "name" heet met daarachter je naam --> Bijvoorbeeld : --> naam : Pietje <--.
Dan word de volle commando zo : ----> SET name=Pietje <--
Laten we het toepassen op ons "Hello World" bestand :
- We voegen na de eerste CLS commando in label1 een SET commando toe.
- we geven de Variable de naam - name.
- we geven de waarden - Pietje - (of wat je wilt)
Uiteindelijk word het dit :
-------------------------------------------->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
SET name=Pietje
ECHO.
ECHO.
ECHO Hello World
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
in woorden vertaald luid onze commando nu zo :
Met --> SET --> geven we aan dat we een variable willen aanmaken --> de naam van onze Variable : name --> een "=" teken om aan te geven dat alles wat volgt de waarde moet zijn van de Variable Vóór de "=" teken. --> de waarden die de Variable aan moet nemen : Pietje.
Oke dan heb je nu Geleerd hoe je een Variable maakt en hem een waarde geeft,, maar je vraagt je nu dan af ... " Wat heb ik nu aan een Variable "
Nou dat zal ik even uitleggen.
Je weet dat een Variable word gebruikt om waardes vast te houden.
Maar aan Variables alleen maar waardes geven heeft geen zin tenzij je ze ook gaat gebruiken.
Om nu even op die vraag te komen ---------> " Wat heb ik nu aan een Variable " -----> : Nu nog niets en mischien de eerste paar onderdelen van de volle Tutorial ook nog niet.
Maar uiteindelijk zal ook JIJ de Variables hard nodig hebben.
Met Varaibles kan je een computer bijvoorbeeld keuzes laten maken.
Helaas kan ik hier niet teveel over vertellen omdat ik dan al informatie moet gaan geven dat pas een aantal onderdelen later aan bod komt.
in de loop van de tutorial zal je er steeds meer achterkomen wat Variables voor onmisbare functie hebben in BATCH (en alle andere programmeer talen ook hoor )
Nu behandel ik meteen onze voorgetrokken ITEM:
We hebben nu dus een Variable aan gemaakt.
Nu zou het erg handig zijn als we het konden gebruiken.
Wat als we nou de waardes uit onze Variable willen laten weergeven doormiddel van een ECHO commando?
Nou dat kan!!!
In BATCH kan je de inhoud van een Variable aanroepen door de naam van de Variable in te sluiten met een Procent-teken (%).
In batch kan je de inhoud van een Variable gebruiken door op de juiste plek de naam van de Variable te schrijven met aan beide kanten een Procent teken --> %%.
Dus daardoor word onze Varaible -> name --> %name%.
Dus als we onze Variable willen weergeven met een ECHO doen we dat zo --> ECHO %name%
Dus als we dat toepassen op ons script en het volgende toevoegen.
- onder het bericht "Hello World" voegen we een ECHO commando toe met daarachter onze Variable --> %name%
Ons Script ziet er dan als volgt uit ------------------->
-------------------------------------------->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
SET name=Pietje
ECHO.
ECHO.
ECHO Hello World
ECHO %name%
ECHO.
ECHO.
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
Als je het bestand nu opslaat en het bestand RUNT dan kan je zien dat er onder ons bericht "Hello World" een tekst word weergeven.
Die tekst is de inhoud van jouw Variable dus in dit geval is dat Pietje.
even voor de duidelijkheid --!!!--> Begin een Varaible nooit met een Cijver want dan zal hij ze verwarren met de Voorgeprogrammeerde Variable.
Nu gaan we even Terug naar de commando SET want daar was ik nog niet klaar mee.
In tegenstelling tot alle andere Commando's die je tot nu toe heb geleerd in deze Tutorial, Is de Commando SET een veelzijdige Commando.
Hier bedoel ik mee dat je hem kan uitbreiden.
Als voorbeeld neem ik HTML.
in HTML heb je een Element bijvoorbeeld <FONT>.
Maar door Aanwijzingen te geven --> Het element uit te breiden --> kan je bepalen hoe de FONT element functioneerd!
Zo is het ook met de Commando SET.
We nemen een Voorbeeld :
SET a=1 <-----
Variable "a" heeft nu de waarde 1 gekregen.
maar stel voor dat je die Variable wil verhogen met 1? --> dan voegen we een aanwijzing toe aan de Commando SET.
Door ---> /A <-- te schrijven na de Commando SET geef je de aanwijzing dat je de Variable gaat aanpassen door hem te Verhogen , Verlagen , Vermedigvuldigen , enz enz enz.
Na de aanwijzing geef je de naam op van de Variable gevolgd door de aanwijzing van wat er met de Varaible moet gebeuren.
Weergevolgd door een = teken om aan te geven dat alles wat volgt de waarde is van de Varaible.
Kortom als we de Variable "a" willen verhogen met 1 dan word onze Commando zo : --------->
SET /A a+=1 --> Varaible 1 met 1 verhogen vandaar die "+" die aangeeft dat de Varaible verhoogt word.
Dus door een "-" verlaag je de Variable.
Je kan een Variable ook anders aanpassen maar dat is ingewikkelder -------->
SET /A a=%a%+1 <---- hier staat : "a" is Inhoud van Varaible "a" plus 1
Moet je zelf maar even uitzoeken wat je handiger vind!..
Een andere optie van de SET commando is --> /P <--
De "/P" optie zorgt er voor dat er om Invoer word gevraagt.
Door de optie /P te gebruiken zorg je er voor dat de Variable de invoer als waardes aaneemt.
Bijvoorbeeld --->
SET /P var=
<--
Als je dit zal laten uitvoeren dan word er op deze regel om invoer van de gebruiker gevraagd.
De invoer word vervolgens in de Variable gestopt.
Als je dit doet -----> SET /P var=Je naam : <-- dan word "Je naam" niet als waarde aangenomen maar alles wat daarna komt wel.
Als we dit nu toepassen op onze bestand.
en we plaatsen de Commando "SET /P" --> 1 regel boven de PAUSE Command.
Dan word ons Script Uiteindelijk Zo:
-------------------------------------------->
@ECHO OFF
:label1
TITLE My Hello World File
CLS
SET name=Pietje
ECHO.
ECHO.
ECHO Hello World
ECHO %name%
ECHO.
ECHO.
SET /P Age=Je leeftijd? :
PAUSE
GOTO label2
:label2
TITLE My Hello World File -- label2
CLS
ECHO.
ECHO.
ECHO See Ya Later
ECHO.
ECHO.
PAUSE
EXIT
----------------------------------
Als je dit zal opslaan en je start het programma dan zal je vlak voor de PAUSE command een vraag krijgen met je leeftijd.
Na dat je op enter hebt gedrukt zal het programma verder gaan met uitvoeren.
Alles wat je invuld word opgeslagen in de Variable "Age" en kan je weer oproepen met "%Age%"
Zo kan je dit dus ook weer laten weergeven met een ECHO commando.
Opzich heb je hier nog niet zo heel veel aan.
Maar na een paar lessen zul je dit erg vaak zien terug komen.
Nou Hiermee Zijn we aan het Einde gekomen van deze les!.
Ik zal nu nog een paar voorbeelden laten zien.
--------------------------------------------------------------------------------------------------------------------
@echo off
cls
GOTO vars
:vars
Title Variables zetten
SET name=Pietje
SET age=18
Goto begin
:begin
Title begin
Cls
ECHO.
ECHO je naam is : %name%
Echo je leeftijd is : %age%
Echo.
pause
goto EX
:EX
cls
Title Einde
EXIT
----------------------------------------------------
@echo off
cls
goto DATA

SET /P name=Je naam :
SET /P age= Je leeftijd :
cls
goto SHOW
:SHOW
ECHO.
ECHO je naam = %name%
echo je leeftijd = %age%
pause
EXIT
--------------------------------------------------------
@echo off
cls
SET /p name=naam:
SeT /p age=leeftijd:
cls
ECHO naam = %name%
ECHO leeftijd = %age%
pause
exit
----------------------------------------------------------
Nou als je dit gevolg heb dan vind ik dat erg knap!
Dit was het einde van LES 2.
M,n volgende les komt in mijn volgende Post!
Ciao mensen
Copyright To:
©RDGVBS
©VBSboy
©BATCH-programmer