IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Suppression espace variable script appel de commande dos


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 5
    Par défaut 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 : 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.
    )
    )
    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

  2. #2
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    for /f "tokens=1,* delims= " %%s in ("%%i") do echo "%%t"

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 5
    Par défaut
    Merci beaucoup.

    ça marche bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Commande dos qui nous envoie l'espace disque restant
    Par soulsidibe dans le forum Autres Logiciels
    Réponses: 14
    Dernier message: 09/06/2011, 00h09
  2. Appels de commandes DOS dans sqlplus
    Par daniel7 dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 17/11/2008, 18h48
  3. Réponses: 7
    Dernier message: 11/07/2007, 20h10
  4. Réponses: 1
    Dernier message: 14/03/2007, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo