Partagez
Aller en bas
avatar
Batcher
Membre

Nombre de messages : 224
Localisation : Le pays le plus froid du monde: La belgique
Distinction : blend-master survolté
[Adurna]
Date d'inscription : 29/09/2009

Tuto batch

le Mar 8 Déc 2009 - 12:20
Desolé amis modo s'il n'est pas a sa place.

Voila un tout est dans le titre.
Je vous presente mon tuto en batch pour les personnes voulant commencer a programmer avec un langage plus que basic.
Mais ne vous attendez pas à faire des miracles ni un super mario. Cela reste de la console rien d'autre.
Ici nous allons aprendre les bases et les quelques notion qui peuvent servir.

Voici dans quoi vos codes vont s'afficher.


Mais avec quoi je code???

Trés bonne question. Pour le batch il n'y a pas de logiciel précis le bloc note suffira.

Ouvrez le bloc note et rentrez y

Code:
echo bonjour

enregistrez le en mettant l'extension .bat!!!
et voila votre premier programme. Vous pouvez le lancer maintenant.

mais il ne se passe rien????

En fait si mais la fenetre s'affiche execute le code et se referme immediatement et du coup vous ne pouvez pas la voir.
Entrez ce code maintenant

Code:
echo bonjour
pause

La fonction pause suspend le programme jusqu'a se que l'utilisateur appuie sur une touche.
réenregistrez votre programme et lancer le.


Je pense que la plupart d'entre vous ont compris l'interet de la fonction echo?
1) elle sert a faire du beurre
2) elle affiche du texte
3) votre pc crie EECCCHHOOO EECChooooooo
D) la reponse d
Spoiler:
bravo elle affiche du texte.

Une variante de echo est
Code:
echo.
qui vous permet de sauter une ligne se qui peut etre simpas pour aerer vos programmes.

Dans l'etat actuelle des chose c'est plutot moche car votre gentil pc vous affiche les fonctions qu'il execute. Pour remedier à sa rentrez sa


Code:
@echo off
echo bonjour
pause


Je ne fait pas un questionnaire sur l'intérêt de cette fonction ce serait trop facile Wink .en clair elle efface les fonctions que le pc utilise et ne note que le résultat.
Pour les amoureux des commentaires il faut utiliser la fonction rem :

Code:
@echo off
rem echo affiche du texte
echo bonjour
pause

Un petit plus qui ne sert pas a grand chose mais autant pousser le graphisme jusqu'au bout. Nous allons changer le titre de la fenetre

Code:
@echo off
title mon titre
rem echo affiche du texte
echo bonjour
pause



ouahhh c'est beau.

Et hop un peu de couleur pour cela il existe color. Vous auriez presque pu trouver tout seul.

pour color il faut mettre color suivi de 2 caracteres Le premier étant le fond et le second l'ecriture.

0 = Noir
1 = Bleu foncé
2 = Vert
3 = Bleu gris
4 = Marron
5 = Pourpre
6 = Kaki
7 = Gris clair
8 = Gris
9 = Bleu clair
A = vert clair
B = Cyan
C = Rouge
D = Rose
E = Jaune
F = blanc

Pour un effet matrix lol.

Code:
@echo off
color 0a
title mon titre
rem echo affiche du texte
echo bonjour
pause

Maintenant nous allons rentrez dans le monde dangereux des variables ouuuuuuuh.

pour definir une variable il faut utiliser la fonction set variable=valeur.

Code:
@echo off
title mon titre
set nom=batcher
rem echo affiche du texte
echo bonjour
pause

Maintenant nom a pour valeur batcher.
Pour afficher une variable dans la fonction echo il faut mettre le nom de la variable entre %: %valeur%

Code:
@echo off
title mon titre
set nom=batcher
rem echo affiche du texte
echo bonjour %nom%
pause

on peut aussi faire des calculs avec des variables il faut mettre un /a aprés set pour faire les calculs par exemple:

Code:
@echo off
title calcul
set nombre1=10
set nombre2=35
rem faire calcul
set /a nombre3=%nombre2%+%nombre1%
echo %nombre3%
pause


La syntaxe reste la meme pour les multiplications et tout le reste...

/!\ Les % sont important.

Vous pouvez aussi demander a un utilisateur de rentrez quelque chose.
Par exemple son nom.

Je vous donne la syntaxe et après a vous de joué.

Code:
set /p variable=


Vous avez fini ???
voila la solution
Spoiler:
@echo off
color 0a
echo votre nom?
set /p nom=
echo vous vous appelez %nom%
pause


Vous aviez trouvé???

Il y a plus simple on peut afficher la phrase juste aprés la demnde de variable par exemple on aurais pu mettre:

Spoiler:
@echo off
color 0a
set /p nom=votre nom?
echo vous vous appelez %nom%
pause

qui est plus joli.

reprenons notre programme calcul et demandons a l'utilisateur de rentrer les nombres a additionner vous devez largement en etre capable.

Spoiler:
Code:
@echo off
title calcul
set /p nombre1=nombre 1?
set /p nombre2=nombre 2?
rem faire calcul
set /a nombre3=%nombre2%+%nombre1%
echo le resultat est: %nombre3%
pause

Nous allons maintenant nous amuser avec les label et Goto.

En clair cette fonction permet de sauter des étapes la syntaxe est

: nomlabel

commande

goto nomlabel

en clair se code va executer les commande et retourner a : nomlabel et ainsi de suite attention au boucle infini

nous verrons sont utilisation plus en detail avec If.

Et maintenant les conditions IF, ELSE


Quelques manières d'utiliser if :


if "condition"=="valeur" commande

Pour les non anglophones (ou les allergiques aux cours ) : else signifie ici autrement il doit se trouver sur la meme ligne que le dernier if.

les comparants sont:
EQU - égal à...
NEQ - différent de...
LSS - inférieur à...
LEQ - inférieur ou égal à...
GTR - supérieur à...
GEQ - supérieur ou égal à...

Prenons un exemple concret. Vous demandez l'age a une personne et lui dites s'il est majeur ou pas.


Code:
@echo off
title test age
set /a majeur=18
set /p age=quelle est votre age?
rem comparer age a majeur
if %age% gtr %majeur% (echo vous etes majeur) else (echo vous n'etes pas majeur)
pause

Voila tout simplement.

Petit exercice vous allez faire un menu, tout est a votre dispositions.

Vous decez choisir le chatiment de mario car il n'a pas bien reparer les tuyaus chez vous.

1_ le pendre.
2_ le taper a mort avec une cuillere a soupe.
3_ le passer au micro onde.
4_ le laisser en vie.

Une autre indications si le "boureau" n'a pas bien rentrer le chatiment on retourne afficher le menu avec un goto
et un goto pour chaque condition qui va a la fin du programme..

Je vous laisse vous amuser.

Spoiler:
Code:
@echo off
title chatiment mario
: menu
echo Chatiment de mario
echo.
echo 1) le pendre
echo.
echo 2) le taper a mort avec une petite cuillere
echo.
echo 3) le passer au micro onde
echo.
echo 4) le laisser en vie
echo.
set /p choix=quelle est votre chatiment?

if %choix%==1 (echo Emmener le sur l'echafaud!!!!
goto fin)
if %choix%==2 (echo Nooooon pas la cuillere a souuuuuupe!!!
goto fin)
if %choix%==3 (echo Veuuuuuuh veuuuuuuh veuhhhhh ting. C'est cuit!!!
goto fin)
if %choix%==4 (echo Youpiii) else (echo entrer le bon numero
goto menu)
: fin
pause

Se n'était pas si dur.

Vous avez de quoi vous amuser maintenant.

nous allons passer au compteur.

La syntaxe d'un compteur est en fait un arrangement de If et goto.

en clair on met une variable a 0
on regarde si elle est superieur ou egal a la valeur que l'on cherche
si elle est inferieur en fait l'action (afficher une phrase) et on lui ajoute 1
puis on retourne au test
sinon on passe a la suite.

Voici un code de punition car on a été méchant avec marion donc on va recopier 10 fois je ne dois pas tuer mario.



Code:
@echo off
title punition
set compteur=0
: menu
if %compteur% lss 10 (echo je ne dois pas tuer mario
echo.
Set /a compteur=compteur+1
goto menu)
pause

Les punitions sont faciles en batch lol

Voici quelques commande utiles:

-ipconfig: elle vous donne votre ip local.
-cls: efface l'écran
-tracert nom du site ou ip :(ne sert pas a grand chose mais permet de voir ou passe la connexion a un site)
-commande help: affiche une aide sur la commande taper


Voila pour le moment dans la suite je vous dirait comment envoyer des messages a un pc en reseau local,
creer un autorun pour cd et comment compiler votre batch avec win rar et plein d'autre chose encore...

Je reste a votre dispositions pour des questions eventuelles; Vos critiques sont les bienvenues. C'est la premiere fois que j'ecris un tuto aussi long
avatar
Dudu'
Staffeux retraité

Nombre de messages : 2060
Age : 27
Distinction : Apprenti KGB-boy en avenir
[Coco' Smile]
Hamsterphile de service ^^
[Balby' le Fake]
Grand prof de la MA
[Skillo]
Ce grand programmateur, mon coeur, ma vie ! [Hamu']
Date d'inscription : 22/06/2009

Re: Tuto batch

le Mar 8 Déc 2009 - 19:08
mouah ah ah
sha me rappel les cours de SI de l'année dernière!!!!!
les PC on souffert.
donc shinon crès crés bon tuto
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum