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 :

FOR /F, FINDSTR, variable temporaire, et substitution de chaine


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut FOR /F, FINDSTR, variable temporaire, et substitution de chaine
    Bonjour,

    J'ai le fichier temp.txt contenant les lignes suivantes:

    ? temp.txt
    ? temp2.txt
    ! GEFO\Bin\STDLIB.plx
    ! GEFO\Bin\MNULIB.plx
    ! GEFO\Bin\Usrlib.plx
    ! GEFO\Bin\LIB_DEF2.plx
    Je souhaite appliquer la commande externe "svn delete" aux lignes commencant par un point d'exclamation.
    C'est à dire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    svn delete GEFO\Bin\STDLIB.plx
    Pour ce faire, j'utilise le bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    setlocal enableDelayedExpansion
    for /f "delims=" %%i in ('type "temp.txt" ^|findstr /i /r "!"') do (
    set var=%%i
    var=%var:!      =%
    svn delete var
    )
    endlocal
    Tout me semble nickel, sauf qu'à l'execution j'obtiens le message suivant (il me semble juste apres la 1ere boucle for) :

    FINDSTR*: Pas de chaînes pour la recherche
    Que faire?
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Et pourquoi pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    setlocal enableDelayedExpansion
    FOR /F "tokens=1*" %%i IN (tmp.txt) DO (
    
      if %%i==! (
        svn delete %%j
      )
    )
    endlocal

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Merci beaucoup! Ca marche

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

Discussions similaires

  1. Permuter deux variables sans variable temporaire
    Par khayyam90 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 09/01/2015, 08h02
  2. Problème de variable temporaire
    Par Izno1978 dans le forum WinDev
    Réponses: 9
    Dernier message: 20/09/2006, 11h35
  3. Réponses: 10
    Dernier message: 06/03/2006, 23h22
  4. [XSL] for-each et variable
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 12/01/2006, 11h42
  5. [POO] [Objets]Variables temporaires/permanentes?
    Par Zenol dans le forum Langage
    Réponses: 38
    Dernier message: 08/12/2005, 21h07

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