{"id":1306,"date":"2020-11-13T15:49:15","date_gmt":"2020-11-13T14:49:15","guid":{"rendered":"http:\/\/ve2cuy.com\/420-3c3\/?page_id=1306"},"modified":"2024-03-18T15:37:16","modified_gmt":"2024-03-18T15:37:16","slug":"batch2","status":"publish","type":"page","link":"https:\/\/ve2cuy.com\/420-21e\/index.php\/batch2\/","title":{"rendered":"R\u00e9sum\u00e9 des commandes bash"},"content":{"rendered":"<h1>Voici un r\u00e9sum\u00e9 des commandes bash<\/h1>\n\n<table id=\"tablepress-5\" class=\"tablepress tablepress-id-5\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">Commande<\/th><th class=\"column-2\">Description<\/th><th class=\"column-3\">Example<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">ECHO<br \/>\n<br \/>\nECHO.<br \/>\n<br \/>\n@ECHO texte<br \/>\n<br \/>\n@ECHO [ON|OFF]<\/td><td class=\"column-2\">Affiche un message \u00e0 l'\u00e9cran:<br \/>\n<br \/>\nAffiche une ligne vide<br \/>\n<br \/>\nN'affiche pas la commande \u00e0 l'\u00e9cran, seulement le r\u00e9sultat.<br \/>\n<br \/>\nActive ou d\u00e9sactive l'affichage des commandes \u00e0 l'\u00e9cran.<br \/>\nNote: Cette commande n'a pas d'effet sur l'affichage que produira une commande.<\/td><td class=\"column-3\">ECHO Bonjour le monde!<br \/>\n<br \/>\nECHO.<br \/>\n<br \/>\n@ECHO Hello Wolrd!<br \/>\n<br \/>\n<br \/>\nECHO OFF<br \/>\n@ECHO OFF<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">REM ou ::<\/td><td class=\"column-2\">En d\u00e9but de ligne, permet de documenter le code source.<\/td><td class=\"column-3\">REM Projet r\u00e9alis\u00e9 par moi.<br \/>\nREM ---------------------<br \/>\n:: Ceci est un autre commentaire<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">PAUSE<\/td><td class=\"column-2\">Ins\u00e9rer une pause dans l'ex\u00e9cution d'un script batch.<br \/>\n<br \/>\nIl faut appuyer sur une touche pour continuer.<\/td><td class=\"column-3\">Echo.<br \/>\nPAUSE<br \/>\nEcho suite du programme.<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\"> cmd.exe \/c chcp 65001<\/td><td class=\"column-2\">Activer un jeu de caract\u00e8res \u00e9tendus ce qui permet d'afficher correctement les caract\u00e8res accentu\u00e9s des messages d'un fichier batch.<\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">%1..%9<\/td><td class=\"column-2\">Variables qui contiennent les param\u00e8tres pass\u00e9s au fichier batch.<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\nNote:  Il est possible d'it\u00e9rer les param\u00e8tres re\u00e7us grace \u00e0 l'instruction FOR:<br \/>\n<br \/>\nREM Voir instruction FOR<br \/>\nFOR %%A IN (%*) DO (<br \/>\n   echo -------------------------------<br \/>\n   echo contenu = %%A<br \/>\n)<br \/>\n<\/td><td class=\"column-3\">Si 'tp.bat' contient<br \/>\necho %1 ch\u00e8r(e) %2<br \/>\n<br \/>\nAlors<br \/>\n<br \/>\nc:>tp Allo Bob<br \/>\n<br \/>\nva afficher<br \/>\n<br \/>\nAllo cher(e) Bob<br \/>\n-------<br \/>\n<br \/>\n%1 = Allo<br \/>\n%2 = Bob<br \/>\n<br \/>\ntp.bat \"Allo Bob\"<br \/>\n%1 = Allo Bob<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-7 odd\">\n\t<td class=\"column-1\">%0<\/td><td class=\"column-2\">Variable qui contient le nom du fichier batch<\/td><td class=\"column-3\">tp.bat Allo Bob<br \/>\n<br \/>\n%0 = tp.bat<\/td>\n<\/tr>\n<tr class=\"row-8 even\">\n\t<td class=\"column-1\">SET variable=<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\nSET \/p variable=<\/td><td class=\"column-2\">D\u00e9finir une variable dans un script.<br \/>\n<br \/>\nNote:  Il ne faut ins\u00e9rer d'espaces entre la variable et l'affectation.<br \/>\n<br \/>\nPar exemple, <br \/>\nSET a = 99. n'est pas valide!<br \/>\n<br \/>\n\u00c0 l'utilisation de la variable, il faut d\u00e9limiter le nom avec le caract\u00e8re %.<br \/>\n<br \/>\nL\u2019option \/A sp\u00e9cifie que la cha\u00eene \u00e0 droite du signe \u00e9gal est une<br \/>\nexpression num\u00e9rique qui est \u00e9valu\u00e9e.<br \/>\n<br \/>\nPar exemple,<br \/>\n<br \/>\nSET \/A i=0<br \/>\nSET \/A i+=1<br \/>\n<br \/>\n<br \/>\nCr\u00e9er une variable \u00e0 partir d'une saisie clavier.<\/td><td class=\"column-3\">SET secret=password<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\necho %secret%<br \/>\nif %1==%secret% echo ...<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\n<br \/>\nSET \/p option=Option menu (1,2,3,99)?<br \/>\n<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-9 odd\">\n\t<td class=\"column-1\">IF<\/td><td class=\"column-2\">Lance l\u2019ex\u00e9cution conditionnelle dans un programme de commandes.<br \/>\n<br \/>\nIF [NOT] ERRORLEVEL nombre commande<br \/>\nIF [NOT] cha\u00eene1==cha\u00eene2 commande<br \/>\nIF [NOT] EXIST nom_de_fichier commande <br \/>\nIF condition (commande) ELSE commande<br \/>\n<br \/>\n** La clause ELSE doit \u00eatre sur la m\u00eame ligne que la commande suivant IF. Par<br \/>\nexemple:<br \/>\n<br \/>\n    EQU - \u00e9gal \u00e0<br \/>\n    NEQ - diff\u00e9rent de<br \/>\n    LSS - inf\u00e9rieur \u00e0<br \/>\n    LEQ - inf\u00e9rieur ou \u00e9gal \u00e0<br \/>\n    GTR - sup\u00e9rieur \u00e0<br \/>\n    GEQ - sup\u00e9rieur ou \u00e9gal \u00e0<br \/>\n<br \/>\n<br \/>\n<br \/>\n   IF EXIST nomfichier (del nomfichier) ELSE echo nomfichier introuvable<br \/>\n<br \/>\n    IF %ERRORLEVEL% LEQ 1 goto okay<br \/>\n<br \/>\n<br \/>\nNOTE:  Pour avoir de l'aide sur la commande IF;  c:>IF \/?<\/td><td class=\"column-3\">IF \"coucou\" EQU \"coucou\" ECHO oui!<br \/>\n<br \/>\nif 123 LSS 99 (echo 123 plus petit que 99) ELSE echo 99 plus petit que 123<br \/>\n<br \/>\nif %1 LSS %2 (echo %1 plus petit que %2) ELSE echo %2 plus petit que %1<br \/>\n<br \/>\nlogin.bat -><br \/>\n@echo off<br \/>\nSET secret=password<br \/>\nSET msg=Mot de passe<br \/>\nif %1==%secret% (<br \/>\n  echo %msg% valide<br \/>\n) else (<br \/>\n  echo %msg% Invalide <br \/>\n)<br \/>\n<br \/>\nIF EXIST tp.bat ECHO le fichier tp est pr\u00e9sent dans le dossier.<\/td>\n<\/tr>\n<tr class=\"row-10 even\">\n\t<td class=\"column-1\">FOR<\/td><td class=\"column-2\">Ex\u00e9cute une boucle sur un ensemble de valeurs.<br \/>\n<br \/>\nDans un fichier .BAT:<br \/>\n<br \/>\nFOR %%variable IN (ensemble) DO commande [param\u00e8tres]<br \/>\n<br \/>\n  %variable    Sp\u00e9cifie un param\u00e8tre rempla\u00e7able par une seule lettre.<br \/>\n  (ensemble)  Ensemble de fichiers. Caract\u00e8res g\u00e9n\u00e9riques autoris\u00e9s.<br \/>\n  commande   Commande \u00e0 ex\u00e9cuter pour chaque fichier.<br \/>\n  param\u00e8tres  Liste des param\u00e8tres ou des options pour la commande sp\u00e9cifi\u00e9e.<br \/>\n<br \/>\n\u00c0 partir de l'invite:<br \/>\n<br \/>\nFOR %variable IN (ensemble) DO commande [param\u00e8tres]<br \/>\n<\/td><td class=\"column-3\">EXEMPLE 1<br \/>\n<br \/>\ntest.bat<br \/>\n@echo off<br \/>\nfor %%f in (*.bat) do (<br \/>\n\techo voici le contenu du fichier: %%f<br \/>\n\ttype %%f<br \/>\n\techo ---------------------------<br \/>\n\techo.<br \/>\n\tpause<br \/>\n)<br \/>\n<br \/>\n================================<br \/>\nEXEMPLE 2<br \/>\nfor %%f in (allo mon coco) do (<br \/>\n\techo %%f<br \/>\n)<br \/>\n<br \/>\n================================<br \/>\nEXEMPLE 3<br \/>\nECHO Voici la liste des param\u00e8tres re\u00e7us:<br \/>\nSET \/A compteur=0<br \/>\nsetlocal ENABLEDELAYEDEXPANSION<br \/>\nFOR %%A IN (%*) DO (<br \/>\n      echo param !compteur! = %%A<br \/>\n      SET \/A compteur=compteur+1<br \/>\n)<br \/>\n<br \/>\n<br \/>\n<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-11 odd\">\n\t<td class=\"column-1\">CALL<\/td><td class=\"column-2\">Ex\u00e9cute un script \u00e0 partir d'un autre script.<br \/>\n<br \/>\nIl est possible de sortir d'un script apr\u00e8s une condition donn\u00e9e:<br \/>\n<br \/>\nIF ... EXIT [\/B] [exitCode]<br \/>\n<br \/>\nLe exitCode peut-\u00eatre test\u00e9 avec:<br \/>\n<br \/>\n IF %ERRORLEVEL% LEQ 1 CALL :ERREUR<br \/>\n<br \/>\n...<br \/>\n<br \/>\n:ERREUR<br \/>\n<\/td><td class=\"column-3\">CALL afficher.bat \"Bonjour le monde\"<br \/>\n<br \/>\n-------<br \/>\nFichier afficher.bat:<br \/>\necho ---------------------------<br \/>\necho %1<br \/>\necho ---------------------------<br \/>\nEXIT 0<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-12 even\">\n\t<td class=\"column-1\">FIND<\/td><td class=\"column-2\">Recherche une cha\u00eene de texte dans un ou des fichiers.<br \/>\n<br \/>\nFIND [\/V] [\/C] [\/N] [\/I] [\/OFF[LINE]] \"cha\u00eene\" [[lecteur:]<br \/>\n     [chemin]nom_de_fichier[ ...]]<br \/>\n<br \/>\n  \/V                 Affiche toutes les lignes ne contenant pas la cha\u00eene sp\u00e9cifi\u00e9e.<br \/>\n  \/C                 Affiche seulement le nombre de lignes contenant la cha\u00eene.<br \/>\n  \/N                 Affiche les num\u00e9ros de ligne avec les lignes affich\u00e9es.<br \/>\n  \/I                   Ignore la casse lors de la recherche de la cha\u00eene.<br \/>\n  \/OFF[LINE]  Ne pas ignorer les fichiers dont l\u2019attribut hors connexion a \u00e9t\u00e9 r\u00e9gl\u00e9.<br \/>\n  \"cha\u00eene\"      Sp\u00e9cifie la cha\u00eene de texte \u00e0 trouver.<br \/>\n  [lecteur:][chemin]nom_de_fichier<br \/>\n             Sp\u00e9cifie un ou des fichiers pour la recherche.<br \/>\n<br \/>\nSans nom de chemin, FIND recherche le texte entr\u00e9 \u00e0 l\u2019invite ou redirig\u00e9<br \/>\ndepuis une autre commande.<br \/>\n<br \/>\nNOTE:  Find retourne la valeur 0 si trouv\u00e9 ou 1 si pas trouv\u00e9.  Il est possible de tester la valeur avec 'if errorlevel n'<\/td><td class=\"column-3\">FIND \/i \"Elvis\" MesAmis.txt<br \/>\n<br \/>\nDIR *.bat | FIND \/i \"tp.bat\"<br \/>\n<br \/>\n===================<br \/>\n<br \/>\n@echo off <br \/>\nfind \/C \/I \"%1\" MesAmis.txt > nul <br \/>\nif errorlevel 1 goto pasami<br \/>\necho %1 est mon ami<br \/>\necho.<br \/>\ngoto fin <br \/>\n:pasami<br \/>\necho %1 n'est pas mon ami echo. <br \/>\n:fin pause <\/td>\n<\/tr>\n<tr class=\"row-13 odd\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-14 even\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-15 odd\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-16 even\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-17 odd\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-18 even\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\"><\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-5 from cache -->\n<h1>Exemples de fichiers bash<\/h1>\n<h2>Afficher les caract\u00e8res \u00e9tendus francophones<\/h2>\n<p>Avant de tester les exemples, charger les caract\u00e8res \u00e9tendus francophones en tapant la commande suivante \u00e0 l&rsquo;invite du CLI.<\/p>\n<pre class=\"lang:default decode:true\">cmd.exe \/c chcp 65001<\/pre>\n<h2>Exemple 1 &#8211; Afficher un message et commentaires<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">@ECHO off\nREM Fichier: Ex02.bat\nREM Auteur:\nREM Date:\n:: --------------------------------------------\n:: Description: Afficher un message \u00e0 l'\u00e9cran\n:: ECHO OFF permet de masquer les commandes qui vont \u00eatre ex\u00e9cut\u00e9es par la suite\n:: le @ permet de masquer cette m\u00eame commande\n:: cls permet d'effacer l'\u00e9cran\n:: --------------------------------------------\nCLS\nREM echo affiche le message bonjour\nECHO bonjour\nREM echo suivi d'un point permet d'ins\u00e9rer une ligne vierge echo.\nECHO.\nrem affiche la suite du message\nECHO tout le monde !<\/pre>\n<h2>Exemple 2 &#8211; Traiter les param\u00e8tres %0..%9<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">@ECHO OFF\nREM Fichier: Ex02.bat\nREM Auteur:\nREM Date:\nREM --------------------------------------------\nREM Description\nREM --------------------------------------------\nECHO Bonjour %1!<\/pre>\n<h2>Exemple 3 &#8211; Tester une condition, \u00a0la commande IF<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">@ECHO OFF\nREM Fichier: Ex03.bat\nREM Auteur:\nREM Date:\nREM --------------------------------------------\nREM Description: Tester une condition avec IF\nREM Note: if \/? \u00e0 l'invite pour de l'aide\nREM --------------------------------------------\nIF %1 LSS %2 (echo %1 est plus petit que %2) ELSE (echo %1 est plus grand que %2)<\/pre>\n<h2>Exemple 4 &#8211; Boucle FOR sur les fichiers<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">@ECHO OFF\nREM Fichier: Ex04.bat\nREM Auteur:\nREM Date:\nREM --------------------------------------------\nREM Description: Boucler sur des fichiers\nREM Note: FOR \/? \u00e0 l'invite pour de l'aide\nREM --------------------------------------------\nfor %%f in (*.bat) do (\n  echo voici le contenu du fichier: %%f\n  type %%f\n  echo --------------------------------\n  echo.\n  pause\n)<\/pre>\n<h2><\/h2>\n<h2>Exemple 4a &#8211; Boucle FOR sur un ensemble<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">:: Fichier: Ex04a.bat\n:: Auteur:\n:: Date:\n:: --------------------------------------------\n:: Description: Boucler sur un ensemble\n:: Note: FOR \/? \u00e0 l'invite pour de l'aide\n:: --------------------------------------------\n@ECHO OFF\nfor %%f in (allo mon coco) do (\n        echo %%f\n)<\/pre>\n<h2><\/h2>\n<h2>Exemple 4b &#8211; Boucle FOR sur les param\u00e8tres<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">:: Fichier: Ex04b.bat\n:: Auteur:\n:: Date:\n:: --------------------------------------------\n:: Description: Boucler sur les param\u00e8tres\n:: Note: FOR \/? \u00e0 l'invite pour de l'aide\n:: --------------------------------------------\n@ECHO OFF\nECHO Voici la liste des param\u00e8tres re\u00e7us:\nSET \/A compteur=1\nsetlocal ENABLEDELAYEDEXPANSION\nFOR %%A IN (%*) DO (\n      echo param !compteur! = %%A\n      SET \/A compteur=compteur+1\n)<\/pre>\n<h2>Exemple 5 &#8211; Boucle et concat\u00e9nation<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">@ECHO OFF\nREM Fichier: Ex04b.bat\nREM Auteur:\nREM Date:\nREM --------------------------------------------\nREM Description: Concat\u00e9nation de fichiers\nREM Note: FOR \/? \u00e0 l'invite pour de l'aide\nREM --------------------------------------------\necho.\nfor %%a in (*.bat) do type %%a &gt;&gt; batch.txt\necho Voici le resultat du fichier batch.txt\npause\nECHO ============================================\ntype batch.txt\nECHO ============================================\npause\nCLS<\/pre>\n<h2>Exemple 6 &#8211; La commande CALL<\/h2>\n<pre class=\"toolbar:2 lang:default decode:true\">@ECHO OFF\nREM Fichier: Ex04b.bat\nREM Auteur:\nREM Date:\nREM --------------------------------------------\nREM Description: Concat\u00e9nation de fichiers\nREM Note: FOR \/? \u00e0 l'invite pour de l'aide\nREM --------------------------------------------\necho Utilisation de la commande call\necho.\nrem On utilisera Ex02.bat, celui avec plusieurs param\u00e8tres\ncall Ex02.bat %1 %2\necho.\necho Retour au script principal !\necho.\npause<\/pre>\n<h2><\/h2>\n<h2>Exemple 07 &#8211; Les commandes FIND, GOTO et EXIT<\/h2>\n<p><strong>Instruction de branchements: GOTO<\/strong><br \/>\n<strong>Fichier b.bat<\/strong><\/p>\n<pre class=\"lang:default decode:true \">:: Fichier b.bat\n@Echo off\nEcho Ceci est la ligne 1\nGOTO ligne3\n:: La commande suivante ne sera pas ex\u00e9cut\u00e9e!!\nEcho Ceci est la ligne 2\n:ligne3\nEcho Ceci est la ligne 3\n<\/pre>\n<p>Instruction pour quitter un BATCH avec un code d&rsquo;erreur: EXIT \/B code<br \/>\n<strong>Fichier err.ba<\/strong>t<\/p>\n<pre class=\"lang:default decode:true \">:: Fichier err.bat\n@ECHO off\nif NOT 1==2 EXIT \/B 99<\/pre>\n<p>Cr\u00e9er un fichier <strong>MesAmis.txt<\/strong> avec le contenu suivant:<\/p>\n<pre class=\"toolbar:2 lang:default decode:true\">John\nClaire\nGabriel\nStephane\nMadeleine\nSylvain\nGarry\nDaniel\nMartine<\/pre>\n<p>Tester la commande FIND<\/p>\n<pre class=\"toolbar:2 lang:default decode:true\">find \/i \"garry\" MesAmis.txt\ntype MesAmis.txt | find \/i \"garry\"\ntype MesAmis.txt | find \/i \/c \"garry\"\necho %errorlevel%<\/pre>\n<p>Fichier ex07.bat<\/p>\n<pre class=\"lang:default decode:true \">@echo off\ncmd.exe \/c chcp 65001\ncls\necho -------------------------------------------------------\necho   Utilisation de la commande find\necho -------------------------------------------------------\necho   Exemple 1\necho.\necho   Recherche d'une cha\u00eene de caract\u00e8res dans un fichier\necho   avec l'option \/i pour ignorer la casse.\necho   C:^\\^&gt; find \/i \"garry\" MesAmis.txt\necho -------------------------------------------------------\nfind \/i \"garry\" MesAmis.txt\npause\ncls\necho -------------------------------------------------------\necho   Exemple 2\necho.\necho   Recherche sans l'option i\necho   C:^\\^&gt; find \"garry\" MesAmis.txt\necho -------------------------------------------------------\nfind \"garry\" MesAmis.txt\npause\ncls\necho -------------------------------------------------------\necho   Exemple 3\necho.\necho   Afficher toutes les lignes qui ne contiennent\necho   pas la chaine de caract\u00e8res sp\u00e9cifi\u00e9e\necho   C:^\\^&gt; find \/v \"Claire\" MesAmis.txt\necho -------------------------------------------------------\nfind \/v \"Claire\" MesAmis.txt\npause\ncls\necho -------------------------------------------------------\necho   Exemple 4\necho.\necho   Afficher toutes les lignes qui contiennent \"iel\"\necho   C:^\\^&gt; find \"iel\" MesAmis.txt\necho -------------------------------------------------------\nfind \"iel\" MesAmis.txt\npause\ncls\necho -------------------------------------------------------\necho   Exemple 5\necho.\necho   Afficher toutes les lignes qui contiennent \"iel\",\necho   pr\u00e9d\u00e9d\u00e9es par le num\u00e9ro de la ligne\necho   C:^\\^&gt; find \/n \"iel\" MesAmis.txt\necho -------------------------------------------------------\nfind \/n \"iel\" MesAmis.txt\npause\ncls\necho -------------------------------------------------------\necho   Exemple 6\necho.\necho   Compter le nombre de lignes qui contiennent \"iel\"\necho   C:^\\^&gt; find \/c \"iel\" MesAmis.txt\necho -------------------------------------------------------\nfind \/c \"iel\" MesAmis.txt\npause\ncls\necho -------------------------------------------------------\necho   Exemple 7\necho.\necho   Utilisation de tube ou pipe\necho   C:^\\^&gt; type MesAmis.txt ^| find \/i \"garry\"\necho -------------------------------------------------------\ntype MesAmis.txt | find \/i \"garry\"\npause\ncls\necho -------------------------------------------------------\necho   Exemple 8\necho.\necho   Utilisation de tube ou pipe\necho   C:^\\^&gt; type MesAmis.txt ^| find \/i \/c \"iel\"\necho -------------------------------------------------------\ntype MesAmis.txt | find \/i \/c \"iel\"\necho.\nEcho FIN de l'application<\/pre>\n<p>Fichier ex07a.bat<\/p>\n<pre class=\"toolbar:2 lang:default decode:true\">@echo off\n:: Fichier : Ex07a.bat\n:: Fonction : Utilisation de la commande FIND\necho Utilisation de FIND\necho.\nfind \/C \/I \"%1\" MesAmis.txt &gt; nul\nif errorlevel 1 goto pasami\necho %1 est mon ami\necho.\ngoto fin\n:pasami\necho %1 n'est pas mon ami\necho.\n:fin\npause<\/pre>\n<h2><\/h2>\n<h2>08 &#8211; Renseigner une variable \u00e0 partir d&rsquo;un saisie clavier<\/h2>\n<p><strong>Fichier login.bat<\/strong><\/p>\n<pre class=\"lang:default decode:true \">:: Fichier login.bat\n@ECHO off\nCLS\nSET \/P motPasse=Entrez le mot de passe:\nIF NOT %motPasse%==secret goto erreur\nECHO.\nECHO Succ\u00e8s, le mot de passe est valide.\nEXIT \/B 0\n:erreur\nEcho ERR - Le mot de passe est invalide!!!\nEXIT \/B 2<\/pre>\n<p><strong>Fichier ex08.bat<\/strong><\/p>\n<pre class=\"toolbar:2 lang:default decode:true\">@echo off\nrem Fichier: Ex08.bat\nrem Fonctions:\nrem - Affiche un menu avec 4 choix\nrem - Utilisation de la commande SET \/p\nrem - Appels d\u2019autres scripts batch\nrem Le echo off cache les commandes ex\u00e9cut\u00e9es et le '@' cache le echo off comme tel\nrem point d'ancrage avant le menu\n:boucle\nrem Efface la fen\u00eatre de commande pour afficher le menu en haut de l'\u00e9cran\ncls\necho Bienvenue au menu principal!\necho.\necho Veuillez effectuer un choix parmi les suivants:\necho 1. Option A\necho 2. Option B\necho 3. Option C\necho 4. Option D (sortie)\nrem initialise la variable choix\nset choix=null\nrem Affiche Votre choix: (gr\u00e2ce au \/P) et attend une entr\u00e9e de l'utilisateur\nrem qui sera, par la suite, assign\u00e9e \u00e0 la variable choix.\nset \/p choix=Qu'est-ce que vous choisissez (1\/2\/3\/4)?\nrem Condition qui teste si la variable choix est \u00e9gal \u00e0 4. Si c'est le cas, le\nrem programme saute au point d'ancrage :fin, ce qui termine l'ex\u00e9cution.\nif %choix% == 4 goto fin\nrem Les 3 prochains \"if\" s'ex\u00e9cutent si la variable choix est \u00e9gale \u00e0 leur valeur\nrem (1,2 ou 3) et appellent le fichier .bat qui correspond \u00e0 leur choix (voir menu).\nif %choix% == 1 CALL OptionA.bat\nif %choix% == 2 CALL OptionB.bat\nif %choix% == 3 CALL OptionC.bat\necho.\npause\nrem Saut \u00e0 l'ancrage :boucle pour r\u00e9afficher le menu apr\u00e8s l'ex\u00e9cution d'un choix\ngoto boucle\n:fin\necho Au revoir!\n-----------------------------------------\n@echo off\nrem Fichier: OptionC.bat\nrem Auteur: Enseignant Ordinateurs et syst\u00e8mes d'exploitation\nrem Fonction: Affiche un message\ncls\necho.\necho Option C choisie\necho.<\/pre>\n<h2><\/h2>\n<h2>Exemple 09 &#8211; La commande SORT<\/h2>\n<p>Cr\u00e9er le fichier<strong> fruits.txt<\/strong> avec le contenu suivant:<\/p>\n<pre class=\"toolbar:2 lang:default decode:true\">banane\norange\nPomme\nabricot\n%%banane\nAbricot\nORANGE<\/pre>\n<pre class=\"toolbar:2 lang:default decode:true \">@echo off\nrem Fichier: Ex09.bat\nrem Fonction: Trier le contenu d\u2019un fichier dans l\u2019ordre croissant ou d\u00e9croissant\nrem selon le choix de l\u2019utilisateur\n:: ------------------------------------------\ncmd.exe \/c chcp 65001\ncls\necho.\nset \/p ordre= Est ce que vous voulez trier dans l'ordre [c]roissant ou [d]\u00e9croissant?\nif %ordre% == c goto tri\nif %ordre% == d goto tri\ngoto erreurSaisie\n:tri\nset \/p chemin=Donnez le chemin du fichier \u00e0 trier:\nif not exist %chemin% goto erreurFichier\necho.\necho Le nom du fichier \u00e0 trier est:  %chemin%\nif %ordre%==c sort %chemin% &gt; fruitsC.txt\nif %ordre%==d sort \/r %chemin% &gt; fruitsD.txt\n:: Tester le code de retour de la commande SORT\nif %errorlevel 0 echo le fichier a \u00e9t\u00e9 tri\u00e9 sans probl\u00e8me\n:fin\n:: Le programme s'est termin\u00e9 de fa\u00e7on normale.\n:: Retourne la valeur 0 dans errorlevel\nexit \/B 0\n:erreurSaisie\necho ERR 1: Choix de tri invalide!\n:: Retourne la valeur 1 dans errorlevel\nexit \/B 1\n:erreurFichier\necho ERR 2: Fichier non trouv\u00e9!\n:: Retourne la valeur 2 dans errorlevel\nexit \/B 2\n<\/pre>\n<p><strong>Menu.bat &#8211; Afficher un menu<\/strong><\/p>\n<pre class=\"toolbar:2 lang:default decode:true \">@echo off\nREM Fichier: MENU.BAT\nREM Auteur:\nREM Date:\nREM --------------------------------------------\nREM Description\nREM --------------------------------------------\n:debut\n:: Fond d'\u00e9cran bleu, caract\u00e8res blancs\ncolor 1F\ncls\necho  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\necho  \u2502     Menu principal       \u2502\necho  \u2502                          \u2502\necho  \u2502 (A)fficher le r\u00e9pertoire \u2502\necho  \u2502 (D)ate du syst\u00e8me        \u2502\necho  \u2502 (T)trier un fichier      \u2502\necho  \u2502 (C)Cr\u00e9er un r\u00e9pertoire   \u2502\necho  \u2502 (Q)uitter le menu        \u2502\necho  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\necho.\nset option=null\nset \/p option=Option (A\/D\/T\/Q)?\nif \/i %option%==q goto quitter\nif \/i %option%==a DIR \/P\nif \/i %option%==d DATE\nif \/i %option%==t CALL trier.bat\nif \/i %option%==c CALL creerRep.bat\necho.\npause\ngoto debut\n:quitter<\/pre>\n<p><strong>Fichier creerRep.bat<\/strong><\/p>\n<pre class=\"lang:default decode:true\">:: Fichier creerRep.bat\n@echo off\nCLS\nSET \/P nom=Entrez le nom du r\u00e9pertoire \u00e0 cr\u00e9er:\nmd %nom%\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Voici un r\u00e9sum\u00e9 des commandes bash Exemples de fichiers bash Afficher les caract\u00e8res \u00e9tendus francophones Avant de tester les exemples, charger les caract\u00e8res \u00e9tendus francophones en tapant la commande suivante \u00e0 l&rsquo;invite du CLI. cmd.exe \/c chcp 65001 Exemple 1 &#8211; Afficher un message et commentaires @ECHO off REM Fichier: Ex02.bat REM Auteur: REM Date: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1306","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Alain","author_link":"https:\/\/ve2cuy.com\/420-21e\/index.php\/author\/alain\/"},"uagb_comment_info":0,"uagb_excerpt":"Voici un r\u00e9sum\u00e9 des commandes bash Exemples de fichiers bash Afficher les caract\u00e8res \u00e9tendus francophones Avant de tester les exemples, charger les caract\u00e8res \u00e9tendus francophones en tapant la commande suivante \u00e0 l&rsquo;invite du CLI. cmd.exe \/c chcp 65001 Exemple 1 &#8211; Afficher un message et commentaires @ECHO off REM Fichier: Ex02.bat REM Auteur: REM Date:&hellip;","_links":{"self":[{"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/pages\/1306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/comments?post=1306"}],"version-history":[{"count":1,"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/pages\/1306\/revisions"}],"predecessor-version":[{"id":2120,"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/pages\/1306\/revisions\/2120"}],"wp:attachment":[{"href":"https:\/\/ve2cuy.com\/420-21e\/index.php\/wp-json\/wp\/v2\/media?parent=1306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}