Batch condition ERROR

Nodoka -  
 Nodoka -
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

14 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
Nodoka
 
;)
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 !
0
Nodoka
 
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 ! :'(
0
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
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.
0
Nodoka
 
Non sa fonctionne pas il rentre toujours dans la boucle que sa fonctionne ou pas :s
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
essayes avec

if %errorlevel% EQU 0

0
Nodoka
 
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
0
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
Désolé, essayes ça à la place :

IF NOT ERRORLEVEL 0 ECHO Erreur installation imprimante
0
Nodoka
 
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 :/
0
Nodoka
 
Fonctionne toujours pas :( désespéré .
C'est chiant :( !
0
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
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"

0
Nodoka
 
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
0
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
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 !
0
Nodoka
 
Sa fontionne bien la il me dit que l'imprimante est intallé !
0
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
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.
0
Nodoka
 
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
0
Nodoka
 
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
0
BlueMind Messages postés 583 Date d'inscription   Statut Membre Dernière intervention   159
 
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...
0
Nodoka
 
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
0