Script Batch - Chaînes de caractères
Introduction aux chaînes de caractères dans les scripts Batch
Bonjour, futurs programmeurs ! Aujourd'hui, nous allons plonger dans le merveilleux monde des chaînes de caractères dans les scripts Batch. En tant que votre professeur d'informatique bienveillant du quartier, je suis excité de vous guider dans ce voyage. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer dès le début !
Une chaîne de caractères, en termes simples, est une séquence de caractères. Cela pourrait être un mot, une phrase ou même un paragraphe entier. Dans les scripts Batch, nous utilisons des chaînes de caractères tout le temps pour afficher des messages, stocker des informations et manipuler du texte.
Opérations de base sur les chaînes de caractères
Affichage des chaînes de caractères
Commençons par l'opération la plus basique - l'affichage d'une chaîne. En Batch, nous utilisons la commande echo
pour cela.
@echo off
echo Bonjour, le monde !
pause
Enregistrez cela sous hello.bat
et exécutez-le. Vous verrez "Bonjour, le monde !" affiché sur votre écran. @echo off
au début est une bonne pratique pour maintenir un output propre de votre script, et pause
à la fin garde la fenêtre ouverte pour que vous puissiez voir le résultat.
Stockage des chaînes de caractères dans des variables
Maintenant, stockons notre chaîne dans une variable :
@echo off
set message=Bonjour, scripting Batch !
echo %message%
pause
Ici, nous utilisons la commande set
pour stocker notre chaîne dans une variable appelée message
. Pour utiliser la variable, nous l'entourons de signes de pourcentage.
Concaténation de chaînes
Joindre des chaînes ensemble (concaténation) est une opération courante. En Batch, c'est aussi simple que de les mettre côte à côte :
@echo off
set firstName=Jean
set lastName=Dupont
set fullName=%firstName% %lastName%
echo Nom complet : %fullName%
pause
Ce script affichera "Nom complet : Jean Dupont". Notez comment nous avons ajouté un espace entre %firstName%
et %lastName%
pour les séparer.
Travail avec l'entrée utilisateur
Faisons nos scripts interactifs en obtenant l'entrée de l'utilisateur :
@echo off
set /p name=Quel est votre nom ?
echo Ravi de vous rencontrer, %name% !
pause
Le commutateur /p
avec set
nous permet de demander à l'utilisateur de saisir une entrée. Essayez d'exécuter ce script et d'entrer votre nom !
Manipulation des chaînes
Extraction de sous-chaînes
Batch nous permet d'extraire des parties d'une chaîne en utilisant la syntaxe %variable:~start,length%
:
@echo off
set message=Bonjour, le monde !
echo %message:~0,5%
echo %message:~7,5%
pause
Cela affichera :
Bonjour
le monde
La première echo
extrait des caractères de la position 0 à 5, et la seconde de la position 7 à 5 caractères après cela.
Remplacement de parties de chaînes
Nous pouvons également remplacer des parties d'une chaîne :
@echo off
set phrase=Le renard brun rapide saute par-dessus le chien paresseux
echo %phrase:renard=chat%
pause
Cela remplace "renard" par "chat" dans notre phrase.
Opérations avancées sur les chaînes
Longueur de la chaîne
Batch n'a pas de fonction intégrée pour obtenir la longueur d'une chaîne, mais nous pouvons utiliser une astuce ingénieuse :
@echo off
set string=Bonjour, le monde !
call :strLen string strlen
echo La longueur de "%string%" est %strlen%
pause
goto :eof
:strLen
setlocal enabledelayedexpansion
set "s=!%~1!"
set "len=0"
for %%N in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
if "!s:~%%N,1!" neq "" (
set /a "len+=%%N"
set "s=!s:~%%N!"
)
)
endlocal & set %~2=%len%
goto :eof
Ce script définit une fonction :strLen
qui calcule la longueur d'une chaîne. C'est un peu complexe, mais cela montre comment nous pouvons créer des outils puissants en Batch.
Conversion de casse
Batch n'a pas de conversion de casse intégrée, mais nous pouvons utiliser la commande for
avec l'option /L
pour y parvenir :
@echo off
set string=Bonjour, le monde !
call :toUpper string result
echo Majuscules : %result%
call :toLower string result
echo Minuscules : %result%
pause
goto :eof
:toUpper
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set %2=%%%2:%%a=%%a%%%
goto :eof
:toLower
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do call set %2=%%%2:%%A=%%a%%%
goto :eof
Ce script définit deux fonctions : :toUpper
et :toLower
pour la conversion de casse.
Conclusion
Félicitations ! Vous avez appena fait vos premiers pas dans le monde de la manipulation des chaînes de caractères dans les scripts Batch. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces concepts. Essayez de combiner différentes techniques que nous avons apprises aujourd'hui pour créer vos propres scripts uniques.
Pour conclure, voici un tableau récapitulatif des opérations sur les chaînes que nous avons couvertes :
Opération | Syntaxe | Exemple |
---|---|---|
Afficher une chaîne | echo chaîne |
echo Bonjour, le monde ! |
Stocker une chaîne | set variable=chaîne |
set message=Bonjour |
Concaténer | set result=%string1% %string2% |
set fullName=%firstName% %lastName% |
Entrée utilisateur | set /p variable=prompt |
set /p name=Quel est votre nom ? |
Sous-chaîne | %variable:~start,length% |
%message:~0,5% |
Remplacement | %variable:ancien=nouveau% |
%phrase:renard=chat% |
Continuez à coder, continuez à apprendre, et surtout, amusez-vous avec les scripts Batch !
Credits: Image by storyset