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 :

Attribuer une variable [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut Attribuer une variable
    Bonjour à tous et meilleurs voeux pour cette nouvelle année

    Je n'arrive pas à créer une variable à partir de la première ligne d'un document texte en dehors du batch d'exploitation.
    J'ai dans un dossier (essai) sur le Bureau avec 3 fichiers :
    list.txt
    result.log
    test3.bat

    Dans list.txt j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    journal
    météo
    radio
    Avec le batch j'essaie de récupérer la première ligne de list.txt = 'journal' et d'en faire une variable que le batch devra exploiter.
    Je bloque ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @for /f "tokens=1,* delims:" %%i in ('findstr /n /r . list.txt') do SET %%j=%nom%
    %nom% serait = journal
    ensuite le batch me permettrait de rechercher %nom%=journal sur tous mes lecteurs et me donnerait tous les chemins dans result.log
    J'y arrive en mettant un 'set /p nom=' (c'est manuel)!
    Je dois recommencer pour la suivantes, ... j'aimerai automatiser tout cela.

    Si vous avez des idées je suis preneur!


    Edit:
    en partant du principe de copier la première ligne de list.txt en utilisant ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . list.txt') do if %%i geq 1 if %%i leq 1 set %%j
    set /p nom=%%j
    J'obtiens :
    La variable d'environnement journal n'est pas définie.
    J'approche mais je ne trouve pas encore.
    J'obtiens

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 35
    Par défaut
    Salut à tous!

    J'ai enfin trouvé et résolu ce petit problème d'attribution d'une variable depuis une ligne d'un fichier texte.

    Voici pour ceux que cela intéressent la syntaxe qui n'est peut-être pas parfaite mais qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f "tokens=1,* delims=:" %%a in ('findstr /n /r . list.txt') do if %%a geq 1 if %%a leq 1 set nom=%%b
    Maintenant il me reste à effectuer un retour pour rechercher le deuxième mot - soit en supprimant la première ligne soit en modifiant la syntaxe afin que chaque terme de list.txt crée tour à tour une nouvelle variable.

    J'ai trouvé ma solution en lisant le topic de I'm HERE - HOWTO variable dans le post Trucs et astuces diverses de Laurent Dardenne.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/02/2012, 10h22
  2. Réponses: 5
    Dernier message: 10/10/2011, 16h04
  3. attribuer à une variable la valeur d'un opérateur (< >)
    Par philippe6 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 22/02/2011, 12h06
  4. [Batch] Attribuer une variable à chaque ligne d'un fichier
    Par Acris dans le forum Scripts/Batch
    Réponses: 16
    Dernier message: 08/01/2010, 13h49
  5. Réponses: 4
    Dernier message: 19/06/2006, 17h02

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