Bonjour,
Je traite les services sous Windows avec les commandes sc qc et sc query.
je fais un fichier batch qui contient des variables donc les noms de service à l'issue d'une commande sc query, ensuite je veux lancer pour chaque service la commande sc qc "nom_service".
Idéalement entre guillemet parce que quelque fois le nom du service à un espace au milieu genre 'avast! maj' et si il n'y a pas de délimiteur la commande sc qc va juste évaluer le premier mot et renverra une erreur.
Le problème est que j'ai systématiquement un espace du début de ma variable qui contient le nom du service. Et je suis dans une boucle for, en essayant de la supprimer dans "delims" j'ai une erreur.
Et j'ai beau tripatouler les trucs que j'ai vu sur le net genre l'extraction d'une chaine de caractères, je n'y arrive pas.
voilà mon code
J'aimerais qu'il n'y ait plus d'espace au début de la variable s comme c'est le cas à l'issue de ce script.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @echo off for /f "delims=" %%i in ('sc query ^|findstr /i /r "SERVICE_NAME: "') do ( for /f "tokens=* delims=SERVICE_NAME:" %%s in ("%%i") do ( echo Treating :%%s sc query "%s%" sc query %s% echo sc query "%s%" echo. ) )
merci de votre aide
Partager