Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Les Mains dans le Cambouis
Bidouille & Développement Informatique

Lancer un services windows avec un .bat

  • 15 réponses
  • 3 participants
  • 4 952 vues
  • 4 followers
Sujet de la discussion Lancer un services windows avec un .bat
Salut a tous,

je suis sur windows XP et j'ai désactivé pas mal de services dans services.msc, dont le spouleur d'impression (spoolsv.exe)
néanmoins j'ai de temps en temps quelques pdf a faire et pour ça il faut que spoolsv soit démarré, mais ça me saoule de le laisser activé tout le temps pour un pdf par mois, et ça me saoule aussi de devoir aller dans services.msc à chaque fois pour le démarrer.
Donc j'aimerais bricoler un petit .bat que je laisserai sur le bureau, et en le lançant, ça lancerait spoolsv.exe.

Du coup j'ai essayé en me positionnant dans le bon répertoire puis en lançant spoolsv.exe mais ça ne marche pas. D'ailleurs, même en le faisant a la main et en double cliquant sur "spoolsv.exe" ça ne démarre pas le service, et ce, que dans services.msc il soit sur automatique, manuel ou désactivé.

Est ce que qqun aurait une solution? ou bien il est tout simplement impossible dans windows de lancer un service autrement que par services.msc?

#ALAPLAJ L'été n'est pas fini partout!

[ Dernière édition du message le 16/05/2012 à 00:13:49 ]

2
en ligne de commande, tu
sc start
tu dois pouvoir balancer ça dans un .bat, accessible via un raccourci dans ton menu démarrer
3
ah merci, j'avais essayé avec juste
start
mais ça marchait pas. J'essaye ça et te tiens au courant.

#ALAPLAJ L'été n'est pas fini partout!

4
hey!
bon, ça marche nickel avec SC START, merci beaucoup! Par contre il ne faut pas utiliser le nom de l'exécutable, mais celui du service. (et il faut mettre le service sur manuel, pas sur désactivé)
du coup ça donne:
sc start spooler

par contre, maintenant, j'aimerais bien, avec le même .bat, pouvoir arrêter le service. Je pourrais faire un 2ème .bat avec SC STOP SPOOLER mais ça ferait 2 .bat et ça serait moins rigolo :-D
est-ce que tu aurais une idée pour faire un truc du genre "si spooler est arrêté, le lancer, si spooler est lancé, l'arrêter" stp?

#ALAPLAJ L'été n'est pas fini partout!

5
si tu fais
sc query spooler
il te donne l'état du service
tu vérifies le contenu de la chaîne que tu obtiens en sortie pour savoir ce que tu as à faire, et le tour est joué !
6
Citation :
tu vérifies le contenu de la chaîne que tu obtiens en sortie pour savoir ce que tu as à faire, et le tour est joué !

gné? pas de délire avec les "IF" ou des trucs comme ça?
merci pour ton aide en tout cas!

#ALAPLAJ L'été n'est pas fini partout!

7
tu inséres çà :
set etat_spooler=STOP
for /f "tokens=4" %%i in ('sc query spooler ^| findstr /i /c:RUNNING') do set etat_spooler=%%i
en sortie, etat_spooler sera à RUNNING quand le spooler tourne, à STOP quand pas à l'état RUNNING
tu le verras par
echo %etat_spooler%

bon je te fais la total avec le if
set etat_spooler=STOP
for /f "tokens=4" %%i in ('sc query spooler ^| findstr /i /c:RUNNING') do set etat_spooler=%%i
if _%etat_spooler%_==_STOP_ goto :action2
rem je fais ici ce que j'ai à faire quand il tourne

goto :fin

:action2
rem ici je fais ce que je veux quand il est à l'arrêt

:fin

8
rho tu gères merci!

#ALAPLAJ L'été n'est pas fini partout!

9
bon, après essai, ça marche nickel, merci beaucoup. (il faut bien entendu laisser le services sur "manuel")
Par contre truc bizarre, (mais qui n'empêche pas que ça marche) si je fais
echo %etat_spooler%
il me dit que le spooler est STOP, même quand il est en fait RUNNING.
Mais bon, on s'en fout, ça marche, merci beaucoup!!!

#ALAPLAJ L'été n'est pas fini partout!

10
Oups !
Tu as mis ou la ligne echo ?
Parce que là, ça ne devrait pas marché !!
Aprés si ça marche ( euh, c'est un peu mon boulot ) tant mieux!