Les langages de programmation
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Les langages de programmation

Venez apprendre les langages de programmation à votre rythme
 
AccueilGalerieRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 Cour n°09 La grande boucle FOR

Aller en bas 
4 participants
AuteurMessage
Groovitron
Professeur
Professeur
Groovitron


Nombre de messages : 201
Réputation : 4
Date d'inscription : 20/07/2010

Cour n°09 La grande boucle FOR  Empty
MessageSujet: Cour n°09 La grande boucle FOR    Cour n°09 La grande boucle FOR  Icon_minitimeSam 27 Nov - 17:35

Ici , je vais vous montrer le plus simplement possible comment se servir de la commande "FOR" :

Tous d'abord, la commande "FOR" veut dire "Pour", c'est une commande permettant de faire des boucles.

Sans paramètre précis, elle sert à donné une valeur à une variable puis une autre ...

FOR %%A IN (valeur que va prendre %%A) DO CommandeAExecuter

Exemple :



Code:

@ECHO OFF
FOR %%A IN (0 1 2 3 4 5 6 7 8 9 10) DO ECHO.%%A
PAUSE
Traduction :
%%A va prendre la valeur de 0, de 1, de 2 ... tout en - a chaque fois - executant la commande spécifier (ici : ECHO.%%A)
Donc le programme va afficher :
0
1
2
3
4
5
6
7
8
9
10
Appuyer sur une touche pour blablabla ...



Il existe plusieurs paramètre , nous allons en voir que 2 : /F et /L ,

Le paramètre /L sert a faire une incrémentation a chaque boucle , en commençant par une certaine valeur appeler l'origine et en finissant par une autre nommée la fin :
L'origine et la fin sont a spécifier dans la parenthèse , ainsi que le pas,

La variable %%A (je dis bien la variable %%A et non pas A !) va prendre pour premiére valeur l'origine ,elle va étre incrémenter du pas tous en executant la commande spécifier, jusqu'a être égale a la fin.

Syntaxe:
Code:

FOR /L %%A IN (Origine,pas,fin) DO CommandeAExecuterAChaqueBoucle

Exemple:
Code:

@ECHO OFF
FOR /L %%A IN (0,1,10) DO ECHO.%%A
PAUSE
Ce code fais exactement la même chose que le précédant.





Le paramètre /F sert à fouiner dans des fichiers, ceci est un peu plus (beaucoup ?) compliquer,

Imaginons un fichier texte nommé "Ex", il aura l'extension .txt

Son nom complet sera donc Ex.txt

Il contient ceci :
Code:

12.38.28
17.12.00
07.01.56
23.21.04
Il contient une liste d'heures quelconque


(Pour les exemples qui suivront nous aurons besoin de ce fichier, donc créer le.)

La boucle FOR (Ou la commande) a besoin de quelques options pour fonctionner :
-Le nombre de colonne
-Les caractère constituant les délimitations de ces colonnes



Le but est très simple :

afficher l'heure écrite dans le fichier (donc les heures , les minutes , et les secondes) du fichiers Ex.txt

pour cela la 1ere colonne contiendra les heures, la seconde colonnes contiendra les minutes et la dernière ; les secondes.

Syntaxe :
Code:

FOR /F "LesOptions" %%VariableDeDébut IN (UnFichierAvecSonExtension) DO CommandeAExecuter
Si on écrit ceci :
Code:

FOR /F %%A IN (Ex.txt) DO ECHO.%%A
PAUSE

Il va afficher tout le contenu du fichier par ligne , donc
Lors de la première boucle, %%A contiendra la première ligne du fichier c'est a dire : 12.38.28
Lors de la deuxième boucle, %%A contiendra la deuxième donc : 17.12.00
Etc
...


Donc il affichera :
12.38.28
17.12.00
07.01.56
23.21.04
Appuyer sur un truc pour continuer ...


Donc pour résumer, %%A va prendre tout les caractères de toutes les lignes (Sauf une exception que nous verrons)

C'est là que les option vont être utile !

Dans les options on va rajouter à la Boucle FOR un moyen de "trier" les caracteres pris par %%A.


NOTE : En programmation, une suite de caractères (Nombre ou Lettre) s'appelle une Chaine de caractère.


On peut ainsi définir des options qui seront enregistrer dans des variables propre a la boucle FOR :

Il existe 4 options paramétrable:

_ La variable EOL sert à définir un caractère qui va permettre a la boucle FOR d'ignorer TOUTE les lignes commençant par ce caractère . (Par défault il n'y a pas de caractère)

_ La variable SKIP sert à définir le nombre de lignes à ignorer en début de fichier.

_ La variable TOKENS sert à définir le nombre de colonnes pris par la boucle FOR .
Note : La première colonne va être enregistrer dans la variable de départ (Ici %%A) la seconde donc, dans %%B la troisième dans %%C ... Etc.

_ La variable DELIMS sert à définir les caractère servant à délimiter TOUTE les colonnes, si vous vouler plusieurs caractères différent , il faut les espacer par des virgules.




Eeet a suivre ...


Dernière édition par Groovitron le Mar 1 Oct - 6:44, édité 4 fois
Revenir en haut Aller en bas
Sprider
Fondateur
Fondateur
Sprider


Nombre de messages : 285
Localisation : sur Terre !
Réputation : 9
Date d'inscription : 23/06/2007

Cour n°09 La grande boucle FOR  Empty
MessageSujet: Re: Cour n°09 La grande boucle FOR    Cour n°09 La grande boucle FOR  Icon_minitimeSam 27 Nov - 18:41

franchement , c'est magnifique!! ^^
Revenir en haut Aller en bas
https://rider.keuf.net
zephir
Jeune Programmeur
Jeune Programmeur
zephir


Nombre de messages : 30
Age : 32
Réputation : 11
Date d'inscription : 19/05/2013

Cour n°09 La grande boucle FOR  Empty
MessageSujet: Re: Cour n°09 La grande boucle FOR    Cour n°09 La grande boucle FOR  Icon_minitimeDim 19 Mai - 22:37

vraiment bien expliquer Very Happy merci ^^
Revenir en haut Aller en bas
gael
Nouveau Programmeur
Nouveau Programmeur



Nombre de messages : 7
Réputation : 10
Date d'inscription : 13/05/2015

Cour n°09 La grande boucle FOR  Empty
MessageSujet: Re: Cour n°09 La grande boucle FOR    Cour n°09 La grande boucle FOR  Icon_minitimeMer 13 Mai - 15:01

svp dans qu'elle repertoire doit on mettre le fichier Ex.txt?
Revenir en haut Aller en bas
Groovitron
Professeur
Professeur
Groovitron


Nombre de messages : 201
Réputation : 4
Date d'inscription : 20/07/2010

Cour n°09 La grande boucle FOR  Empty
MessageSujet: Re: Cour n°09 La grande boucle FOR    Cour n°09 La grande boucle FOR  Icon_minitimeMer 13 Mai - 17:08

Tu dois les mettre dans le même répertoire que celui où tu exécute ton fichier Batch, ou alors quand tu l'appelle tu peux fournir son chemin complet : Par exemple C:\Exemple\Ex.txt
Revenir en haut Aller en bas
Contenu sponsorisé





Cour n°09 La grande boucle FOR  Empty
MessageSujet: Re: Cour n°09 La grande boucle FOR    Cour n°09 La grande boucle FOR  Icon_minitime

Revenir en haut Aller en bas
 
Cour n°09 La grande boucle FOR
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Cour n°02 les variables
» Cour n°10
» Cour n°02
» Cour n°01 l'affichage
» Cour N°07 : Les Conditions ...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Les langages de programmation :: Les Cours de Programmation :: Cours de BATCH (.bat)-
Sauter vers: