Astuces et techniques avancées de scripting Batch pour les sysadmins1
Mise a jour Mardi_02-05-2023_09:30
En tant que sysadmin, vous devez souvent travailler avec des scripts Batch pour automatiser des tâches administratives sur les serveurs et les PC. Pour être plus efficace dans votre travail de scripting, il est important de connaître les opérateurs et les variables système les plus utiles et moins connus. Dans cet article, nous allons vous présenter 10 astuces et techniques avancées de scripting Batch pour les sysadmins.
Opérateurs
- L’opérateur
&&
vous permet d’exécuter une commande si et seulement si la commande précédente s’est terminée avec succès. Par exemple, pour copier un fichier et lancer une application uniquement si la copie s’est terminée avec succès, tapez :
copy fichier.txt C:\destination && C:\programmes\application.exe
- L’opérateur
||
vous permet d’exécuter une commande si la commande précédente a échoué. Par exemple, pour supprimer un fichier et afficher un message d’erreur si le fichier n’existe pas, tapez :
del fichier.txt || echo Le fichier n'existe pas.
- L’opérateur
>
vous permet de rediriger la sortie d’une commande vers un fichier. Par exemple, pour enregistrer la liste des fichiers d’un répertoire dans un fichier texte, tapez :
dir > fichiers.txt
- += and -= operators: Ces opérateurs sont utilisés pour ajouter ou soustraire des valeurs d’une variable dans un script batch. Par exemple, le script suivant ajoute 10 à la valeur de la variable
number
:
set /a number+=10
- ! operator: Cet opérateur est utilisé pour accéder à la valeur d’une variable au moment de l’exécution plutôt qu’au moment de l’analyse. Par exemple, le script suivant imprime la valeur de la variable
number
après y avoir ajouté 1:
set /a number+=1
echo !number!
- ~ operator: Cet opérateur permet de modifier la casse d’une variable. Par exemple, le script suivant imprime la valeur de la variable
name
en majuscules :
set name=john
echo %name:~0,1%%name:~1,-1%
- » and « operators: Ces opérateurs sont utilisés pour la redirection d’entrée et de sortie dans un script batch. Par exemple, le script suivant redirige la sortie de la commande
dir
vers un fichier :
dir >> output.txt
- ^ operator: Cet opérateur est utilisé pour échapper les caractères spéciaux dans un script batch. Par exemple, le script suivant imprime le caractère
>
:
echo ^>
- !GOTO label! syntax: Cette syntaxe vous permet d’accéder à une étiquette dans un script batch à l’aide d’une variable. Par exemple, le script suivant saute à l’étiquette spécifiée dans la variable
jump
:
set jump=label2
!GOTO %jump%!
:label1
echo This is label 1
!GOTO end!
:label2
echo This is label 2
:end
Variables système
- %~dp0 system variable: Cette variable système représente le chemin d’accès complet du répertoire où se trouve le script batch. Par exemple, le script suivant remplace le répertoire courant par le répertoire où se trouve le script :
cd /d %~dp0
- %RANDOM% system variable: Cette variable système génère un nombre aléatoire entre 0 et 32767. Par exemple, le script suivant génère un nombre aléatoire entre 1 et 6 :
set /a dice=%RANDOM% %% 6 + 1
echo You rolled a %dice%
- ~f system variable modifier: Ce modificateur de variable système représente le chemin complet d’un fichier. Par exemple, le script suivant imprime le chemin complet du fichier
file.txt
:
echo %~ffile.txt
- La variable
%CD%
contient le chemin d’accès complet du répertoire de travail actuel. Par exemple, pour afficher le chemin d’accès complet du répertoire de travail actuel, tapez :
echo %CD%
- La variable
%DATE%
contient la date actuelle dans le format défini par les paramètres régionaux du système. Par exemple, pour afficher la date actuelle, tapez :
echo %DATE%
- La variable
%TIME%
contient l’heure actuelle dans le format défini par les paramètres régionaux du système. Par exemple, pour afficher l’heure actuelle, tapez :
echo %TIME%
- La variable
%USERNAME%
contient le nom de l’utilisateur actuel. Par exemple, pour afficher le nom de l’utilisateur actuel, tapez :
echo %USERNAME%
- La variable
%COMPUTERNAME%
contient le nom de l’ordinateur local. Par exemple, pour afficher le nom de l’ordinateur local, tapez :
echo %COMPUTERNAME%
- La variable
%ERRORLEVEL%
contient le code de retour de la dernière commande exécutée. Par exemple, pour vérifier si la dernière commande s’est terminée avec succès, tapez :
if %ERRORLEVEL% equ 0 echo La dernière commande s'est terminée avec succès.
Conclusion
Ces astuces et techniques avancées de scripting Batch vous aideront à devenir plus efficace dans votre travail.
Avis de non-responsabilité : cet article a été rédigé à l’aide de ChatGPT. Je n’ai pas essayé tous les conseils répertoriés ici. Utiliser avec précaution. https://chat.openai.com/ ↩︎