Meilleures phrases IF pour utiliser les fichiers batch plus intelligemment sous Windows

Si vous travaillez beaucoup avec Fichiers batch sur Windows , Les instructions IF fournissent alors une méthode très puissante Pour ajouter de la flexibilité aux scripts Votre propre.

Dans cet article, vous apprendrez les cinq principaux types de phrases IF que vous pouvez utiliser dans Fichier batch Sous Windows, à quoi ressemble la syntaxe correcte et un exemple réaliste de chacune.

Si vous êtes prêt Pour démarrer l'écriture de scripts Commençons!

Meilleures instructions IF pour une utilisation plus intelligente des fichiers batch sous Windows - Windows

1. Comparaison des valeurs

L'une des principales choses que vous devez généralement faire dans un script batch est de comparer deux valeurs et de suivre un workflow différent en fonction du résultat de la comparaison.

Par exemple, supposons que vous souhaitiez écrire un script Batch qui vérifie quotidiennement la taille du disque dur de votre ordinateur. Si elle est inférieure à 3 Go, vous souhaitez recevoir une alerte par e-mail indiquant "L'espace disque dur est très faible" .

Pour créer un script qui compare et compare l'espace disque disponible actuel à la limite, vous pouvez créer le script Batch suivant et l'enregistrer en tant que fichier .bat.

@echo off

set DriveLimit=300000000

for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set FreeSpace=%%x

Echo FreeSpace="%FreeSpace%"

Echo Limit="%DriveLimit%"

If %FreeSpace% GTR %DriveLimit% (

 Echo There is enough free space.

) else (

 Echo Not enough free space.

)

WMIC Il s'agit d'un raccourci vers le composant Windows Management Instrumentation fourni avec une variété de commandes que vous pouvez utiliser pour extraire des informations de votre ordinateur. C'est ainsi qu'on l'appelle »WMIC"Dans ce script, espace de stockage disponible"disque logiqueEt le met dans une variable FreeSpace. Vous pouvez maintenant remplacer le "Echo Pas assez d'espace libre«Sur commande email blat Pour vous envoyer une alerte.

Enfin, configurez ce script en tant que tâche Batch planifiée dans Windows qui s'exécute quotidiennement.

Si vous n'avez jamais utilisé blat auparavant, nous avons un article à vous expliquer Comment configurer bat. Vous n'êtes pas habitué à créer des travaux planifiés? Nous avons créé un article sur Comment configurer les tâches planifiées de Windows.

2. Comparez les chaînes

Une autre instruction IF que vous pouvez utiliser dans une tâche Batch est la comparaison de chaînes.

Dans l'exemple suivant, vous verrez comment vérifier votre version de Windows à l'aide de Mission par lots. Vous pouvez ensuite comparer cela à la version attendue de Windows.

Certaines utilisations de ce script seront essentielles pour vérifier votre informatique lorsque vous devez exécuter un script rapide et vous assurer que le système d'exploitation actuel est à jour ou s'il a besoin d'une mise à niveau.

Voici à quoi ressemble ce script.

@echo off

for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j

if "%version%" == "6.0" echo Windows Vista.

if "%version%" == "6.1" echo Windows 7

if "%version%" == "6.2" echo Windows 8

if "%version%" == "6.3" echo Windows 8.1

if "%version%" == "10.0" echo Windows 10.

Voici à quoi ressemble ce script.

Meilleures instructions IF pour une utilisation plus intelligente des fichiers batch sous Windows - Windows

La possibilité de comparer des chaînes à la fois ouvre une liste complète de possibilités. Si vous explorez Toutes les informations que vous pouvez obtenir à partir d'une commande WMIC , Vous ne verrez que le nombre de statistiques sur l'ordinateur que vous pouvez surveiller. Vous pouvez utiliser des tâches Batch planifiées pour les alerter.

3. Vérifiez si le fichier existe

Une autre situation utile pour l'instruction IF dans un fichier batch est de rechercher un fichier de données.

Souvent, la tâche Batch n'est qu'un outil de surveillance qui peut être planifié pour rechercher de nouveaux fichiers de données contenus dans un répertoire spécifique.

Ensuite, le travail par lots peut copier ce fichier vers un autre emplacement où il peut être traité ou exécuter des scripts Windows qui manipulent le fichier dans la sortie Excel.

(Nous avons écrit dans le passé sur la façon d'utiliser les scripts Windows pour manipuler les données dans un fichier Excel; bonne lecture en arrière-plan.)

L'utilisation d'un fichier Batch pour vérifier si le fichier se trouve dans un répertoire est une étape simple et rapide. Voici à quoi ressemble ce script.

@echo off

if exist c:\temp\datafile.txt (

 %WINDIR%\SysWOW64\cmd.exe

 cscript LoadToExcel.vbs

) else (

 rem file doesn't exist

)

Comparer IF EXISTS est utile pour beaucoup de choses.

Par exemple, si vous avez un système ou une application qui crée de nouveaux journaux d'erreurs dans un dossier spécifique en cas de problème, vous pouvez souvent exécuter un travail par lots pour contrôler si de nouveaux journaux d'erreurs sont créés afin que vous puissiez envoyer une alerte planifiée.

4. Vérifiez si la commande n'a pas pu s'exécuter

C'est l'un des aspects déterminants des scripts de fichiers par lots que très peu de personnes ou de programmeurs informatiques utilisent pour rechercher des erreurs.

Il existe de nombreuses tâches par lots qui effectuent 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 Batch échouent, les systèmes échouent et les gens les remarqueront.

Il est beaucoup plus intelligent de recevoir une alerte lorsque votre tâche Batch échoue avant que les gens ne le remarquent. De cette façon, vous pouvez résoudre le problème de manière proactive.

Vous pouvez le faire en utilisant la variable % errorlevel% Quelles applications et commandes retournent après les avoir exécutées.

Tout ce que vous avez à faire est de suivre votre commande par commande SI% NIVEAU D'ERREUR%. Si l'application ou la commande renvoie zéro, tout va bien. Sinon, vous devez vous envoyer un e-mail d'alerte.

@echo off

xcopy C:\somefolder E:\backupfolder

IF %ERRORLEVEL% NEQ 0 <blat command to send email>

Vous n'êtes pas obligé de suivre par email. Vous pouvez toujours écrire un journal des erreurs que vous pouvez vérifier tous les matins, ou exécuter une application ou une deuxième commande qui essaie d'effectuer la tâche à l'aide d'une autre méthode. Quelle que soit l'action que vous souhaitez effectuer, SI% NIVEAU D'ERREUR% Permet de faire cela.

Si vous préférez utiliser l'instruction IF pour rechercher des codes d'erreur spécifiques, alors Windows propose une liste complète Codes d'erreur.

5. Vérifiez les paramètres manquants

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

Par exemple, supposons que vous tapez du texte qui exécute une commande xcopy D'un dossier d'entrée à un dossier réseau partagé que votre équipe utilise. L'utilisateur n'a qu'à suivre le nom de votre script avec les paramètres qui définissent son chemin de profil.

De toute évidence, vous ne pouvez pas exécuter le script correctement sans le chemin spécifié, vous pouvez donc placer l'instruction IF au début du script pour vous assurer que vous entrez les deux paramètres.

Voici à quoi ça ressemble.

@echo off

IF [%1]==[] (

GOTO sub_message

) ELSE (

xcopy %1 E:\backupfolder

)

GOTO eof

:sub_message

echo You forgot to specify your path.

:eof

Si vous n'avez jamais utilisé de paramètres avec des scripts Batch auparavant, le symbole de pourcentage suivi du nombre représente la variable de paramètre. %1 Est le premier paramètre, %2 Est le deuxième paramètre et ainsi de suite.

La fonctionnalité batch peut être puissante

De nombreuses personnes commencent à utiliser les tâches 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 un peu plus d'intelligence à vos scripts.

Bien sûr, si vous voulez vraiment mettre à niveau cette étape, vous pourriez envisager de jeter un œil à VBA à partir de Pendant notre guide sur la création de la première application VBA Ou peut-être Apprenez à programmer Python.

Vous pouvez souvent utiliser des langages de programmation avancés comme ceux-ci ou apprendre Utilisez PowerShell , Pour accomplir plusieurs des mêmes tâches que vous utilisez actuellement sur les tâches par lots.

Aller au bouton supérieur