Accueil

5 Instructions IF à utiliser pour des scripts batch Windows plus intelligents

Added 2018-04-02


Si vous travaillez beaucoup dans des fichiers de commandes Windows, le Déclaration IF  offre un moyen très puissant d'ajouter de la flexibilité à vos scripts.

Dans cet article, vous allez en apprendre davantage sur les cinq principaux types d'instructions IF que vous pouvez utiliser dans un fichier de commandes Windows, sur l'apparence de la syntaxe correcte et sur un exemple réaliste pour chacun.

Si vous êtes prêt à commencer le script, commençons!

1. Comparer les valeurs

L’une des tâches élémentaires que vous devez généralement effectuer dans un script batch est la suivante: comparer deux valeurs  et suivez un cours différent en fonction de la comparaison.

Par exemple, supposons que vous souhaitiez écrire un script de traitement par lots qui vérifie la taille du disque dur de votre ordinateur quotidiennement. Si la valeur est inférieure à 3 Go, vous souhaitez obtenir un rapport par courrier électronique indiquant «Espace disque insuffisant».

Pour créer un script comparant l’espace disque disponible actuel à votre limite, vous devez créer le script de traitement par lots suivant et l’enregistrer en tant que fichier .bat.


@Écho off
set DriveLimit = 300000000
for / f "usebackq delims == tokens = 2" %% x in (`wmic logicaldisk où" DeviceID = 'C:' "get FreeSpace / format: value`) ne définit FreeSpace = %% x
Echo FreeSpace = "% FreeSpace%"
Echo Limit = "% DriveLimit%"
Si% FreeSpace% GTR% DriveLimit% (
 Echo Il y a assez d'espace libre.
) autre (
 Echo Pas assez d'espace libre.
)

WMIC est le composant Windows Management Instrumentation de Windows fourni avec un assortiment de commandes que vous pouvez utiliser pour extraire des informations sur un PC. Voici comment la commande "wmic" de ce script appelle l'espace "logicaldisk" et le place dans la variable FreeSpace. Maintenant, vous pouvez simplement remplacer la ligne «Echo pas assez d’espace libre» par une commande email blat pour vous envoyer une alerte.

Enfin, configurez ce script en tant que travail par lots planifié Windows exécuté quotidiennement.

2. Comparaisons de chaînes

Une autre comparaison intéressante que vous pouvez faire dans un travail par lots est comparer des chaînes .

Dans l'exemple suivant, vous verrez comment vérifier votre version de Windows à l'aide d'un travail par lots. Ensuite, vous pouvez comparer cela à votre version Windows attendue.

Certaines utilisations de ce script sont destinées aux audits informatiques lorsque vous devez exécuter un script rapidement et vous assurer que le système d'exploitation actuel est le plus récent ou qu'il nécessite une mise à niveau.

Voici à quoi ressemble ce script.


@Écho off
for / f "tokens = 4-5 delims =." %% i in ('ver') définit la VERSION = %% i. %% j
Si "% version%" == "6.0" font écho à Windows Vista.
si "% version%" == "6.1" renvoie Windows 7
si "% version%" == "6.2" renvoie Windows 8
si "% version%" == "6.3" renvoie Windows 8.1
si "% version%" == "10.0" fait écho à Windows 10.

Voici à quoi ressemble la sortie de ce script.

Fichier de commandes, Windows, Programmation

La possibilité de comparer des chaînes en batch ouvre toute une liste de possibilités. Si vous explorez tous les informations que vous pouvez obtenir à partir d'une commande WMIC  vous verrez combien de statistiques sur votre ordinateur vous pouvez surveiller. Vous pouvez utiliser des travaux par lots planifiés pour alerter sur ceux-ci.

3. Vérifier si un fichier existe

Une autre situation utile dans laquelle une instruction IF dans un fichier de commandes consiste à vérifier l'existence d'un fichier de données .

Très souvent, le travail par lots n'est qu'un outil de surveillance qui peut être planifié pour rechercher de nouveaux fichiers de données entrants dans un répertoire spécifique.

Ensuite, le travail par lots peut soit copier ce fichier dans un autre emplacement où il peut être traité, soit lancer un script Windows qui traite le fichier dans une sortie Excel.

L'utilisation d'un fichier de commandes pour vérifier si un fichier existe dans un répertoire est simple et rapide. Voici à quoi ressemble ce script.


@Écho off
s'il existe c: \ temp \ datafile.txt (
 % WINDIR% \ SysWOW64 \ cmd.exe
 cscript LoadToExcel.vbs
) autre (
 le fichier rem n'existe pas
)

La comparaison IF EXISTS est utile pour beaucoup de choses.

Par exemple, si un système ou une application en cours d’exécution crée de nouveaux journaux d’erreurs dans un dossier spécifique en cas de problème, vous pouvez exécuter un travail par lots de temps en temps pour vérifier si de nouveaux journaux d’erreur sont créés afin de pouvoir envoyer une alerte.

4. Vérifier si une commande a échoué

Un aspect des scripts de fichiers de commandes que trop peu d’informaticiens ou de programmeurs utilisent est: vérification des erreurs .

De nombreux travaux par lots circulent actuellement et exécutent des tâches informatiques critiques telles que la sauvegarde de fichiers importants ou l'exécution d'opérations de copie de fichiers. Lorsque ces tâches par lot échouent, les systèmes échouent et les utilisateurs le remarquent.

Il est beaucoup plus judicieux de recevoir une alerte lorsque votre travail par lots a échoué. avant  les gens commencent à remarquer. De cette façon, vous pouvez résoudre le problème de manière proactive.

Pour ce faire, utilisez la variable% errorlevel% que la plupart des applications et des commandes renvoient après son exécution.

Il vous suffit de suivre votre commande à l'aide de la commande IF% ERRORLEVEL%. Si l'application ou la commande a renvoyé un zéro, tout va bien. Si non, alors vous devez vous envoyer un email.


@Écho off
xcopy C: \ un dossier E: \ dossier de sauvegarde
IF% ERRORLEVEL% NEQ 0 La commande & lt; blat d’envoyer un email & gt;

Vous n'êtes pas obligé de prendre l'itinéraire par courrier électronique. Vous pouvez toujours écrire un journal des erreurs à vérifier tous les matins ou lancer une deuxième application ou commande qui tente d'effectuer la copie à l'aide d'une autre commande. Quelle que soit l'action que vous souhaitez entreprendre, IF% ERRORLEVEL% vous permet de le faire.

Si vous préférez utiliser une instruction IF pour rechercher des codes d’erreur spécifiques, Windows propose longue liste de codes d'erreur .

5. Vérifier les paramètres manquants

La dernière instruction IF utile n’est pas une commande spécifique, mais plutôt de vérifier que le script reçu les paramètres d'entrée appropriés .

Par exemple, supposons que vous ayez écrit un script qui exécute une commande xcopy à partir d’un dossier d’entrée, dans un dossier réseau commun utilisé par une équipe. L'utilisateur doit simplement suivre votre nom de script avec les paramètres définissant son chemin de fichier personnel.

Évidemment, vous ne pouvez pas exécuter correctement votre script sans le chemin spécifié. Vous pouvez donc insérer une instruction IF au début de votre script pour vous assurer que les deux paramètres ont été entrés.

Voici à quoi ça ressemble.


@Écho off
SI [% 1] == [] (
GOTO sous_message
) AUTRE (
xcopy% 1 E: \ backupfolder
)
GOTO eof
: sub_message
echo Vous avez oublié de préciser votre chemin.
: eof

Si vous n’avez jamais utilisé de paramètres avec des scripts de traitement par lots, le symbole de pourcentage suivi d’un nombre représente la variable de paramètre. % 1 est le premier paramètre,% 2 le deuxième, etc.

Les travaux par lots peuvent être puissants

De nombreuses personnes commencent à utiliser des travaux par lots pour des tâches simples qui doivent être exécutées en séquence. Avec les instructions IF, il est possible d’ajouter beaucoup plus d’intelligence à vos scripts.

Bien sûr, si vous voulez vraiment progresser d'un cran, jetez un coup d'œil à VBA avec notre guide sur la création de votre première application VBA, ou peut-être même apprendre la programmation Python.






Nuage de tags

Choix de L'éditeur


Thomas Becket

Je suis un écrivain indépendant qui couvre la programmation et les logiciels.
Je suis étudiant en informatique et je m'intéresse à la programmation, aux logiciels et à la technologie
Gadgets technologiques et critiques 2019