Batch condition ERROR

Salutation,
J'ai un soucis avec mon batch !
J'ai ici mon batch qui permet d'ajouter a l'ordinateur une imprimante quelconque au réseaux d'un lycée.
Maintenant je veux mettre une condition pour dire a l'utilisateur que son imprimante a bien était ajoutée aux réseaux, mais avec ou sans erreurs, je rentre quand même dans la boucle IF :( !
Voila en espérant que vous puissiez m'aider ! :)
Amicalement Nodoka.
Ps : Sinon j'avais pensé a une autre solution, c'est de vérifié dans la base de registre si l'imprimante a été installée, mais la je ne sais pas du tout qu'elle est le code, je n'est jamais fait de batch ... :( Je me renseigne un peut sur tout les tuto/forum mais bon je m'y perd ! help meeeeeeeeeeeeeee ! merci :wahoo:

[CODE] :

cls
:begin

echo off

rundll32 printui.dll,PrintUIEntry /q /in /n \\Roodsevelt\LS_LIB

if errorlevel 0 Goto fin

"C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"

:fin

echo Fin du batch.

pause
Configuration: Windows XP
Firefox 2.0.0.14

14 réponses

  1. Contributeur
    Hello
    il y a là un exemple avec une syntaxe un peu différente:

    Echo ******* Installing Ricoh 1022 Driver *****************
    
    rundll32 printui.dll,PrintUIEntry /if /b "ITS L1 Ricoh 1022" /f
    %windir%\inf\ricoh1022\oemsetup.inf /r "IP_130.130.69.96" /m "RICOH Aficio
    1022 PCL 6" /z
    If NOT %errorlevel% EQU 0 CLS && Echo Print Driver Installation Successful
    && Goto Install_Pdriver3
    :END 
    1. ;)
      Oki merci ^^
      J'ai rien compris a se que tu as écrit mais je vais mettre le nez dedans et essayé de comprendre tous sa ^^
      Merci encore !
      1. Saurais tu commenté un peut les lignes ?
        Se que je dois changer pour l'adapté a mon code etc ?
        Parce que la je suis vraiment perdu ! :'(
        1. Salut,

          Le problème est que tu utilises errorlevel qui est une chaîne de caractère et non une variable. Pour utiliser le contenu de la variable errorlevel tu dois ajouter le signe % devant et derrière -->
          %errorlevel%

          Et voilà après cela fonctionnera je pense.
      2. Non sa fonctionne pas il rentre toujours dans la boucle que sa fonctionne ou pas :s
        1. Avec se code la il rentre même pas dans la boucle, c'est a dire que avec ou sans erreurs dans le chemin UNC il m'affiche pas ma page html :s

          [CODE]

          cls
          :begin

          echo off

          rundll32 printui.dll,PrintUIEntry /q /in /n \\Roosevelt\LS_LIB

          if %errorlevel% EQU 0 goto fin

          "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"

          :fin

          echo Fin du batch.

          pause
          1. Désolé, essayes ça à la place :

            IF NOT ERRORLEVEL 0 ECHO Erreur installation imprimante
            1. Oui sa ok, mais quand l'installation est réussi je met coi xD ^^
              Parce que au pire windows me le dit quand le chemin UNC est mauvais ou quand l'imprimante n'existe pas, j'ai un maître de stage assé chiant ^^ donc voila ^^ lui il veut que j'affiche une page disant que l'installation c'est bien faite :) ou dans le cas contraire que rien se passe, le message d'erreur windows s'affiche et tout se ferme.
              Voila :/
              1. Fonctionne toujours pas :( désespéré .
                C'est chiant :( !
                1. Dans ce cas il suffit de retourner la clause if:

                  IF ERRORLEVEL 0 "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"

              2. cls
                :begin

                echo off

                rundll32 printui.dll,PrintUIEntry /q /in /n \\Roosevelt\LS_LIB

                IF ERRORLEVEL 0 "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"

                echo Fin du batch.

                pause

                Marche pas, je commence a me dire se n'est pas la bonne fonction que j'utilise :o
                1. Attends, te décourage pas.

                  Commence par faire :

                  cls
                  :begin

                  echo on

                  rundll32 printui.dll,PrintUIEntry /q /in /n \\Roosevelt\LS_LIB

                  ECHO ERRORLEVEL

                  IF ERRORLEVEL 0 echo Imprimante installée

                  echo Fin du batch.

                  pause

                  Juste pour voir où ça coince !
              3. Sa fontionne bien la il me dit que l'imprimante est intallé !
                1. Et bien on avance :-)

                  Le problème est donc l'ouverture de ta page web et non pas le test de réussite d'installation de l'imprimante.
              4. Sinon j'ai pensé a sa :

                cls
                :begin

                echo off

                rundll32 printui.dll,PrintUIEntry /q /in /n \\Roosesvelt\LS_LIB

                If %errorlevel% EQU 1 CLS && Echo Error importing registry file && Goto End

                If %errorlevel% EQU 0 CLS && Echo Registry Import Successful && Goto Spooler

                :Spooler
                If NOT %errorlevel% EQU 0 CLS && Echo Print Driver Installation Successful
                && Goto Install_Pdriver3

                :End
                "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"
                echo Fin du batch.

                :Install_Pdriver3
                "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"

                pause

                Mais bon vu que je ne connais pas du tout le Batch ... j'ai fait sa pas pure logique xD
                1. Oops me suis trompé !

                  :End
                  echo Fin du batch.

                  :Install_Pdriver3
                  "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.asparis.fr:82/printers/successful.html"

                  pause

                  la fin c'est comme sa
                  1. J'ai peur de ne plus rien comprendre à ce que tu veux faire là.

                    Si tu as une erreur et que tu fais un GOTO END le programme va faire ton ECHO mais va ensuite continuer et donc t'ouvrir la page web. Il ne me semblait pas que c'était le but...
                2. Erf
                  Oui se n'est pas le but ! ^^
                  Je ne sait pas trop comment sa fonctionne le batch :( c'est la toute premiere fois que je l'utilise :s