Batch

Bonjours a tous,
je m'intéresse aux batchs et j'essay d'en faire un qui execute une commande si un fichier est dans le lecteur disquette, ce que je voudrais obtenir c'est:
un premier fichier "x1.bat " qui exécute "x2.bat" si il est dans le lecteur disquette. pour l'instant j'ai utilisé "if exist a:\x2.bat a:\x2.bat" mais si il n'y a pas de disquettedans le lecteur il y a un message d'erreur. Je voudrais que ce message d'erreur ne s'affiche pas, est-il possible de faire un "if existe (une disquette dans le lecteur) if exist a:\x2.bat a:\x2.bat"????
Merci d'avance pour vos réponses

12 réponses

  1. oui c'est juste............... Alors est-il possible de programmer la réponse??? de dire quand le message apparait selectionner Anuler... qqn sait si c'est possible???
    1. Modérateur
      Salut,

      Perso, je ne crois pas que tu puisses éviter ce message.
      J'ai essayé en pointant l'erreur sur le périphérique ">NUL" et ça n'a rien changé.
      Ça se comprend aussi. Tu lui demande de lire un fichier dans un périphérique. Le programme bête et méchant essaie de lire sur ce périphérique et ne trouve rien. Donc réaction normale, il "gueule" et le fait savoir ;-))
      1. Merci beaucoup de m'avoir répondu, mais avec ta solution lorse qu'il va chercher msg2.bat sur la disquette, si il y a pas de disquette il va afficher un message d'erreur, donc ca ne résous pas mon problème.... mais merci beaucoup quand même
        1. Modérateur
          Salut,

          je ne travaille pas sous Windows et avec batch non plus.
          Cependant voilà un petit scénario qui pourra peut être t'aider.

          J'ai créer 3 fichiers

          msg1.bat qui se trouve dans C:\
          cls
          echo "Fichier msg1.bat"

          msg2.bat qui se trouve sur une disquette
          cls
          echo "Fichier msg2.bat est sur la disquette"
          pause
          Et le fichier appel.bat qui se trouve dans C:\
          echo off
          call c:\msg1.bat
          echo ***********************
          call a:\msg2.bat
          
          Donc appel.bat appelle msg1.bat et ensuite msg2.bat
          A toi d'adapter à tes besion.

          http://www.piwu.net/cours/programmation/batch/
          1. rectification

            @echo off
            if exist a:\*.txt goto 4
            goto 6
            dir a:\*.txt
            pause
            exit
            1. pour vous expliquer plus facilement j'ai fais un deuxième programme qui affiche si il y a un fichier txt dans le lecteur disquette:

              @echo off
              if exist a:\*.txt goto 3
              goto 6
              dir a:\*.txt
              pause
              exit

              mais si je met pas de disquette il y a un message qui dit qu'il n'y a pas de disquette, est-il possible de ne pas afficher ce message???