Comment puis-je scripter un fichier batch ou cmd pour arrêter et démarrer un service de manière fiable avec vérification des erreurs (ou me prévenir si cela n'a pas réussi pour une raison quelconque) ?
Pourquoi toujours supprimer sc ?
Comment puis-je scripter un fichier batch ou cmd pour arrêter et démarrer un service de manière fiable avec vérification des erreurs (ou me prévenir si cela n'a pas réussi pour une raison quelconque) ?
Pouvez-vous être un peu plus précis? Mon édition de poche de "Windows NT In A Nutshell" liste "net start" et "net stop" comme étant les moyens de démarrer et d'arrêter un service à partir d'un fichier de commandes. Il ne mentionne rien à propos d'un code d'erreur ou d'autres indications de succès ou d'échec.
Je suis en train d'écrire un service Windows en C#, la boucle stop/désinstallation/construction/installation/démarrage devenait trop fatigante. J'ai écrit un mini script, je l'ai appelé reploy.bat
et je l'ai déposé dans mon répertoire de sortie Visual Studio (celui qui contient l'exécutable du service construit) pour automatiser la boucle.
Il suffit de définir ces 3 variables
servicename
: celui-ci s'affiche dans le panneau de contrôle des services Windows (services.msc)
slndir
: le dossier (pas le chemin complet) contenant votre fichier de solution (.sln)
binpath
: le chemin complet (pas le chemin du dossier) vers l'exécutable du service depuis la construction
REMARQUE : Cela doit être exécuté à partir de la ligne de commande du développeur Visual Studio pour que la commande msbuild
fonctionne.
SET servicename="Mon Super Service"
SET slndir="C:Répertoire\qui\contient\fichier\sln"
SET binpath="C:chemin\vers\service.exe"
SET currdir=%cd%
call net stop %servicename%
call sc delete %servicename%
cd %slndir%
call msbuild
cd %bindir%
call sc create %servicename% binpath=%binpath%
call net start %servicename%
cd %currdir%
Cela pourrait peut-être aider quelqu'un :)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Peut-être un peu hors sujet (puisque vous demandez une instruction bat & cmd) mais : PowerShell vous donne beaucoup de contrôle et de retour d'information pour effectuer des actions comme celle-ci.