Suppression espace variable script appel de commande dos
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
Code:
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.
)
) |
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.
merci de votre aide