1. Préparation de l'environnement
Encodage UTF-8
chcp 65001 > nul
Permet d'afficher correctement les caractères accentués.
Mode silencieux
@echo off
Masque l'affichage des commandes elles-mêmes.
Nettoyage de l'écran
cls
Réinitialise l'affichage pour plus de lisibilité.
Commentaires
REM Ceci est un commentaire
Pour documenter le script sans effet sur son exécution.
2. Affichage et variables
Afficher une chaîne:
echo Bonjour le monde
Variables simples
Déclaration :
set monVar=Valeur
Lecture :
echo %monVar%
Saisie utilisateur
set /p prenom=Quel est votre prénom?
echo Vous vous appelez %prenom%
3. Opérations arithmétiques
Calculs avec set /A
set /A somme=5+3
echo Résultat = %somme%
Comparaisons numériques:
<:lss<=:leq==:equ>=:geq>:gtr
4. Conditions
Structure IF simple
IF %age% GEQ 18 (
echo Majeur
) ELSE (
echo Mineur
)
Comparaison de chaînes
IF /I "%choix%" EQU "o" (
echo Oui
) ELSE (
echo Non
)
Le /I rend la comparaison insensible à la casse.
5. Boucles FOR
Parcourir une liste de valeurs
for %%i in (1 2 3 4 5) do (
echo i = %%i
)
Parcourir les fichiers d'un dossier
for %%f in (*.txt) do (
echo Fichier : %%f
)
6. Organisation avec GOTO et labels
Labels
:debut
echo Début du script
goto fin
:fin
echo Fin du script
Menus et sous-menus:
- Affichage des choix
set /ppour récupérer la sélectionIFouGOTOpour piloter la navigation
7. Commandes utiles et astuces
Changer les couleurs :
:debut
color 1E REM fond bleu / texte blanc
color 07 REM retour aux couleurs par défaut
Pause sans message :
pause>nul
Date et heure système :
%date%%time%
Utilisateur courant : %username%
8. Expressions régulières simplifiées
Dans le contexte batch pur, on ne dispose pas de regex avancées, mais on peut utiliser :
*pour désigner « n'importe quelle chaîne de caractères »?pour un seul caractère
9. Bonnes pratiques
- Nommer clairement vos variables et labels.
- Ajouter des commentaires pour expliquer les parties complexes.
- Mettre en place un traitement d'erreur basique (vérification des saisies).
- "Modulariser" via des labels et des sous-scripts (
call). - Tester progressivement chaque bloc avant d'assembler le tout.
Sources: expérience et notes personnelle durant la formation TSSR.