Script Batch - Codes de Retour
Salut à tous, futurs programmeurs ! Aujourd'hui, nous allons plonger dans un sujet passionnant du scripting Batch : les Codes de Retour. Ne vous inquiétez pas si vous êtes complètement nouveau dans la programmation ; je vais vous guider à travers ce voyage pas à pas, tout comme j'ai fait avec des centaines d'étudiants au fil des ans. Alors, prenez une tasse de café (ou votre boisson favorite), et c'est parti !
Comprendre les Codes de Retour
Avant de rentrer dans les détails, comprenons ce qu'est un code de retour. Imaginez que vous envoyez votre ami robot sur une mission. Quand il revient, vous voudriez savoir si la mission a été un succès, n'est-ce pas ? C'est exactement ce que font les codes de retour dans la programmation. Ce sont comme de petits messages que les programmes renvoient pour nous dire s'ils ont terminé leur tâche avec succès ou si quelque chose s'est mal passé.
Dans le scripting Batch, ces codes de retour sont souvent appelés "niveaux d'erreur". Explorons cette notion plus en détail.
Niveau d'Erreur
Dans Batch, le niveau d'erreur est une variable spéciale qui contient le code de retour de la dernière commande ou du dernier programme exécuté. C'est comme un bulletin de notes qui nous dit à quel point une commande a bien (ou mal) fonctionné.
Vérifier le Niveau d'Erreur
Pour vérifier le niveau d'erreur, nous utilisons la variable %ERRORLEVEL%
. Voici un exemple simple :
@echo off
dir C:\NonExistentFolder
echo Le niveau d'erreur est %ERRORLEVEL%
Si vous exécutez ce script, vous verrez quelque chose comme ceci :
File Not Found
Le niveau d'erreur est 1
La commande dir
n'a pas trouvé le dossier, donc elle a retourné un niveau d'erreur de 1. Si le dossier existait, le niveau d'erreur serait 0.
Utiliser les Niveaux d'Erreur pour Prendre des Décisions
Les niveaux d'erreur sont extrêmement utiles pour prendre des décisions dans vos scripts. Voici un exemple :
@echo off
ping google.com
if %ERRORLEVEL% EQU 0 (
echo La connexion internet fonctionne !
) else (
echo Oups ! Pas de connexion internet.
)
Dans ce script, nous vérifions si nous pouvons ping Google. Si le ping est successful (niveau d'erreur 0), nous savons que l'internet fonctionne. Sinon, nous affichons un message d'erreur.
Boucles
Maintenant que nous comprenons les niveaux d'erreur, regardons comment les utiliser dans les boucles. Les boucles sont comme une merry-go-round pour votre code, vous permettant de répéter des actions jusqu'à ce qu'une certaine condition soit remplie.
Structure de Boucle de Base
Voici une boucle simple qui compte de 1 à 5 :
@echo off
set counter=1
:loop
if %counter% LEQ 5 (
echo Le compteur est %counter%
set /a counter+=1
goto loop
)
echo La boucle est terminée !
Ce script affichera :
Le compteur est 1
Le compteur est 2
Le compteur est 3
Le compteur est 4
Le compteur est 5
La boucle est terminée !
Utiliser les Niveaux d'Erreur dans les Boucles
Nous pouvons combiner les boucles avec les niveaux d'erreur pour créer des scripts plus dynamiques. Voici un exemple :
@echo off
:retry
ping google.com
if %ERRORLEVEL% NEQ 0 (
echo Échec de la connexion. Nouvel essai dans 5 secondes...
timeout /t 5 >nul
goto retry
)
echo Connexion réussie !
Ce script continuera à essayer de ping Google jusqu'à ce qu'il réussisse. C'est comme un petit robot persévérant qui ne renonce pas avant d'avoir terminé sa mission !
Parcourir les Arguments de la Ligne de Commande
Les arguments de la ligne de commande sont comme des instructions spéciales que vous donnez à votre script lorsque vous le démarrez. Voyons comment nous pouvons boucler à travers ces arguments.
Boucle de Base sur les Arguments
Voici un script qui affiche tous les arguments que vous lui donnez :
@echo off
:loop
if "%1"=="" goto end
echo Argument : %1
shift
goto loop
:end
echo Tous les arguments ont été traités !
Si vous exécutez ce script avec script.bat apple banana cherry
, il affichera :
Argument : apple
Argument : banana
Argument : cherry
Tous les arguments ont été traités !
Utiliser les Niveaux d'Erreur avec les Arguments
Créons un script plus avancé qui vérifie si les fichiers passés en arguments existent :
@echo off
:loop
if "%1"=="" goto end
if exist %1 (
echo %1 existe
) else (
echo %1 n'existe pas
set ERRORLEVEL=1
)
shift
goto loop
:end
if %ERRORLEVEL% NEQ 0 (
echo Certains fichiers n'ont pas été trouvés
) else (
echo Tous les fichiers existent
)
Ce script vérifie chaque fichier passé en argument. Si un fichier n'existe pas, il met le niveau d'erreur à 1. À la fin, il vous dit si tous les fichiers ont été trouvés ou si certains manquent.
Conclusion
Félicitations ! Vous avez刚刚 vos premiers pas dans le monde du scripting Batch avec les codes de retour. Souvenez-vous, comme pour apprendre n'importe quelle nouvelle langue, la pratique est clé. N'ayez pas peur d'expérimenter et de faire des erreurs - c'est ainsi que nous apprenons tous !
Voici un tableau de réference rapide des méthodes que nous avons couvertes :
Méthode | Description |
---|---|
%ERRORLEVEL% |
Variable pour vérifier le code de retour de la dernière commande |
if %ERRORLEVEL% EQU 0 |
Vérifier si la dernière commande a réussi |
goto label |
Sauter à une étiquette spécifique dans le script |
set /a variable+=1 |
Incrémenter une variable |
shift |
Passer à l'argument de ligne de commande suivant |
if exist filename |
Vérifier si un fichier existe |
Continuez à coder, continuez à apprendre, et surtout, amusez-vous ! Souvenez-vous, chaque expert était autrefois un débutant. Qui sait ? Peut-être que vous écrirez vos propres tutoriels de programmation un jour !
Credits: Image by storyset