Batch condition ERROR

Fermé
Nodoka - 27 juin 2008 à 14:40
 Nodoka - 28 juin 2008 à 10:51
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 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
27 juin 2008 à 15:07
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 !
0
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 15:20
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
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 15:31
essayes avec

if %errorlevel% EQU 0

0
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 15:50
Désolé, essayes ça à la place :

IF NOT ERRORLEVEL 0 ECHO Erreur installation imprimante
0
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
Fonctionne toujours pas :( désespéré .
C'est chiant :( !
0
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 16:10
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
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 16:24
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
Sa fontionne bien la il me dit que l'imprimante est intallé !
0
BlueMind Messages postés 583 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 16:39
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
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
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 159
27 juin 2008 à 16:46
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
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