Table des matières:

Exécution conditionnelle en batch : 7 étapes
Exécution conditionnelle en batch : 7 étapes

Vidéo: Exécution conditionnelle en batch : 7 étapes

Vidéo: Exécution conditionnelle en batch : 7 étapes
Vidéo: Bash[#8] - Comprendre et manipuler les structures conditionnelles avec Bash 2024, Novembre
Anonim

Par l'arbitreDécouvrez mon blog ! Suivez plus par l'auteur:

Horizon de tension
Horizon de tension
Horizon de tension
Horizon de tension
mon aquarium
mon aquarium
mon aquarium
mon aquarium
Peinture à l'huile de tempête océanique
Peinture à l'huile de tempête océanique
Peinture à l'huile de tempête océanique
Peinture à l'huile de tempête océanique

À propos: L'un de mes passe-temps préférés est de démonter l'électronique, puis de les combiner pour créer quelque chose de nouveau, ou d'ajouter des composants pour les améliorer. J'aime aussi les gadgets, que ce soit pour les démonter… En savoir plus sur Arbitror »

L'exécution conditionnelle signifie qu'une commande ne peut être émise que sous une certaine condition. Vous apprendrez également dans cette instructable comment créer un fichier batch d'une seule ligne et comment organiser et classer un fichier batch volumineux et déroutant.

Étape 1: à faire et à ne pas faire

À faire et à ne pas faire
À faire et à ne pas faire

S'il vous plaît, n'utilisez pas la programmation par lots si vous ne savez pas comment l'utiliser, car vous pouvez vraiment gâcher votre ordinateur ! Je recommande de ne suivre cette instructible que si vous êtes avancé au niveau du lot. Si votre lot d'apprentissage, ou de base, vous n'en avez pas vraiment besoin. Si vous avez des questions, je vous suggère de mieux apprendre le lot, car ce n'est pas difficile à comprendre.

Étape 2: syntaxe

Syntaxe
Syntaxe

Il existe 3 syntaxes pour l'exécution conditionnelle. Les commandes 1 et 2 que vous remplaceriez par des commandes différentes. Expliqué plus en détail dans les étapes 3, 4 et 5

commande1 & commande2Placez une esperluette "&" entre deux commandes pour que command2 s'exécute juste après command1. C'est le même que

commande1commande2

commande1 && commande2Placez deux esperluettes "&&" entre deux commandes pour que la commande2 ne s'exécute que si la commande1 s'est terminée avec succès. C'est le même que

command1IF NOT ERRORLEVEL 1 command2

commande1 || commande2Placez deux tuyaux "||" entre deux commandes pour que command2 ne s'exécute que si command1 échoue. C'est le même que

commande1SI NIVEAU ERREUR 1 commande2

Étape 3: Exécuter juste après

Exécuter juste après
Exécuter juste après
Exécuter juste après
Exécuter juste après

Syntaxe:

commande1 & commande2Placez une esperluette "&" entre deux commandes pour que command2 s'exécute juste après command1. C'est le même que

commande1commande2Ceci est très utile pour mettre de nombreuses commandes sur la même ligne pour l'organisation. Par exemple, vous pouvez vouloir mettre toutes les "propriétés" du fichier batch sur une seule ligne. Par exemple, vous mettriez @echo off, la couleur XX, le titre X, etc., tous sur la même ligne

@echo off & color 0a & title Execution conditionnelleecho Bonjour tout le monde ! & pause > nulDans le code ci-dessus, il est organisé en sections. Toutes les "propriétés" sont sur une ligne, et le texte et la pause sont sur une autre ligne. C'est beaucoup plus facile à organiser si vous créez un gros fichier batch. Une autre utilisation pour cela est de créer un fichier batch d'une seule ligne, ce qui, à mon avis, est plus déroutant qu'un fichier batch sans aucune exécution conditionnelle! Je m'en tiendrais donc à le diviser en sections.

Étape 4: Exécuter uniquement en cas de succès

Exécuter uniquement en cas de succès
Exécuter uniquement en cas de succès
Exécuter uniquement en cas de succès
Exécuter uniquement en cas de succès
Exécuter uniquement en cas de succès
Exécuter uniquement en cas de succès

Syntaxe:

commande1 && commande2Placez deux esperluettes "&&" entre deux commandes pour que la commande2 ne s'exécute que si la commande1 s'est terminée avec succès. C'est le même que

command1IF NOT ERRORLEVEL 1 command2Ceci est principalement utilisé pour créer un message "ça a fonctionné" à un utilisateur. Par exemple, vous pouvez créer un utilitaire de formatage de disque qui ferait écho au texte: « Lecteur formaté avec succès. » si rien ne va mal. Je vais donner un exemple en utilisant la commande color. Vous utiliserez d'abord l'esperluette unique "&", que vous avez apprise plus tôt. Tapez le texte suivant

@echo off & title Exécution conditionnelleJe n'ai pas inclus la commande de couleur car c'est la commande que nous utiliserons pour le message de réussite. Ajoutez maintenant le texte suivant

@echo off & title Conditional Executioncolor 0a && echo Changement de couleur réussi!echo Échec du changement de couleur !Maintenant, si le changement de couleur fonctionne, il fera écho au changement de couleur réussi ! Mais s'il échoue, il fera écho "Changement de couleur échoué!". Mais attendez, s'il échoue, il fera écho "Changement de couleur infructueux !", mais s'il fonctionne, il fera écho "Changement de couleur réussi !", et sur la ligne suivante, il fera écho "Changement de couleur infructueux !". Alors, comment pouvons-nous résoudre ce problème ? Terminer le code

@echo off & title Conditional Executioncolor 0a && echo Changement de couleur réussi ! && goto doneecho Échec du changement de couleur !:donepause > nulMaintenant, s'il réussit, il fera écho au texte, puis il fera une pause. S'il échoue, il passera simplement à la commande suivante, la pause. (Remarque: les doubles esperluettes "&&" peuvent être remplacées par une seule esperluette "&" si vous le souhaitez. Cela n'a pas d'importance.) 00" ou "aa", car il n'accepte pas que le premier plan et l'arrière-plan soient de la même couleur.

Étape 5: Exécuter uniquement en cas d'échec

Exécuter uniquement en cas d'échec
Exécuter uniquement en cas d'échec
Exécuter uniquement en cas d'échec
Exécuter uniquement en cas d'échec
Exécuter uniquement en cas d'échec
Exécuter uniquement en cas d'échec

Syntaxe:

commande1 || commande2Placez deux tuyaux "||" entre deux commandes pour que command2 ne s'exécute que si command1 échoue. C'est le même que

commande1SI NIVEAU ERREUR 1 commande2C'est tout le contraire de la dernière étape, Exécuter uniquement en cas de succès. Vous pouvez l'utiliser pour les messages d'erreur, ou pour bien d'autres choses. Tout comme avant, je vais donner un exemple en utilisant la commande color. Je n'irai pas étape par étape car je l'ai fait à l'étape précédente. Si vous avez besoin de revenir en arrière et de le lire. Voici le code

@echo off & title Couleur d'exécution conditionnelle 0a || echo Changement de couleur infructueux ! && goto doneecho Changement de couleur réussi !:donepause > nulRemarquez comment les deux esperluettes "&&" sont remplacées par deux tubes "||", et le texte d'écho est permuté. Encore une fois, vous pouvez changer la couleur en "00" pour le voir échouer.

Étape 6: Organisation

Organisation
Organisation

Dans cette étape, je vais vous donner quelques conseils sur la façon d'organiser efficacement les fichiers batch

1. Regroupez en sections. Regroupez les sections d'un fichier batch sur une seule ligne, comme indiqué à l'étape 3. Vous pouvez regrouper:-"propriétés" comme @echo off, couleur XX, titre X, invite X, etc…-texte, comme echo X, pause, set /p =, etc…-set, set X=X, set X=X, set X=X…2. Divisez-le. Séparez les différentes parties d'un fichier batch d'une autre en mettant des entrées entre. Exemple:

@echo off & color 0a & title Exampleset essais=4:top & clsset /a essais=%tries% -1if %tries%==0 (goto pénalité &)Echo Il vous reste %essais% tentatives. & Echo Veuillez entrer votre mot de passe pour continuer et définir /p mot de passe=if %password%==letmein (& goto correrct &) else (& goto top &) & goto top:penaltyshutdown -s -fgoto pénalité:correctcls & echo Bonjour ! & echo Ceci est une démo ! & pause > nulecho Refreshing… & taskkill /f /im explorer.exe & start explorer.exe3. N'en faites pas trop ! Veuillez ne pas mettre trop de commandes sur une seule ligne, car vous ne faites que vous confondre et vous n'organisez pas !

Étape 7: Conclusion

Conclusion
Conclusion

Merci d'avoir pris le temps de lire mon instructable ! J'espère que ce n'était pas trop déroutant pour vous ! N'oubliez pas de noter, et bon dosage !

Conseillé: