Voici une série d'exercices de difficultés croissantes.
Les solutions sont proposées au bas de cette page.
Créer un fichier CHIFFRE.BAT qui prend un chiffre comme argument et l'affiche
en toutes lettres. Il y a
un seul argument : %1
S'il vaut "0" , afficher "Zéro"
s'il vaut "1" afficher "Un"
etc.
Exemple:
C:\> Chiffre 7
Sept
Même exercice avec plusieurs arguments.
Faites
une boucle
et utilisez la commande SHIFT
pour que %1 prenne successivement
la valeur de chaque argument
Exemple:
C:\> Chiffre 1 3 5
Un
Troix
Cinq
Le batch file Save_A.bat sauve sur la disquette A tous les fichiers du répertoire courant qui ont l'attibut archive. Ce fichier de commande mémorise la date et l'heure de la sauvegarde dans un fichier Histo.txt qui se trouve lui aussi sur la disquette A:
L'option "Assignation" est disponible depuis les extensions de commandes apparues depuis Windows NT. L'option /A permet d'évaluer une expression arithmétique ou logique pour en donner la valeur à une variable. Nous plaçons les expressions entre guillemets. Un nom de variable dans une expression représente sa valeur. Il ne faut donc plus dans ce cas placer les noms entre % .
Affiche la somme de tous les arguments de la commande
Exemple:
C:\> Somme 5 10 2
17
Affiche le plus grand de tous les arguments
Exemple:
C:\> Max 5 20 18
20
L'option "Prompt" permet d'attribuer à
une variable une valeur saisie par l'utilisateur.
La commande commence par afficher l'invite avant de lire l'entrée.
Demande le nom de l'utilisateur puis le salue en le nommant
Demande l'age de l'utilisateur et calcule les années qui lui reste
avant la retraite.
Exemple:
C:\> Bonjour
Comment t'appelles-tu ? Tartempion
Bonjour Tartempion
Quel âge as-tu ? 28
Encore 37 ans de turbin avant la retraite!
@ECHO OFF Rem CHIFFRE.BAT IF "%1"=="" GOTO Usage IF "%1"=="0" ECHO Zero IF "%1"=="1" ECHO Un If "%1"=="2" ECHO Deux IF "%1"=="3" ECHO Trois IF "%1"=="4" ECHO Quatre IF "%1"=="5" ECHO Cinq IF "%1"=="6" ECHO Six IF "%1"=="7" ECHO Sept IF "%1"=="8" ECHO Huit IF "%1"=="9" ECHO Neuf GOTO Fin :Usage ECHO Syntaxe: CHIFFRE n ECHO avec n = 0 à 9 :Fin |
@ECHO OFF :Boucle IF "%1"=="" GOTO Fin CALL chiffre %1 SHIFT GOTO Boucle :Fin |
@ECHO OFF ECHO sauvegarde des derniers fichiers modifiés DATE /t >> A:\Histo.txt TIME /t >> A:Histo.txt XCOPY *.* A: /m /y >> B:Histo.txt ECHO ----------------------------------------- ECHO ----------------------------------------->> A:\Histo.txt ECHO.>> A:\Histo.txt |
@ECHO OFF REM Affiche la somme de tous les nombres entrés comme paramètres SET Total=0 :Boucle IF "%1"=="" GOTO Fin SET /A Total="Total+%1" SHIFT GOTO Boucle :Fin ECHO %Total% |
@ECHO OFF REM Affiche la plus grand des paramètres SET Max=0 :Boucle IF "%1"=="" GOTO Fin IF %1 GTR %max% SET /A max="%1" SHIFT GOTO Boucle :Fin ECHO La plus grande valeur est %Max% |
@echo off set /P Nom="Comment t'appelles-tu ? " echo Bonjour %Nom% set /p Age="Quel age as-tu ? " set /a reste=65-Age echo Encore %reste% ans de turbin avant la retraite! |