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 :

Insertion phrase contenant une commande dans .txt [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2018
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Août 2018
    Messages : 24
    Par défaut Insertion phrase contenant une commande dans .txt
    pour mieux expliquer je commence avec le script:

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    set $deb=set Center=
    set $fin=& call :CenterText Center strLen
    copy config\liste-tagavant.txt \TAG\TMP\liste-tag.cmd
    echo %$deb% %$tag% %$fin%>>\TAG\TMP\liste-tag.cmd
    type config\liste-tagapres.txt <NUL >> \TAG\TMP\liste-tag.cmd 
    goto :menu1

    a la fin je dois obtenir " set Center=MON TAG & call :CenterText Center strLen " écrit dans mon fichier texte (sans les guillemets)

    seulement voila, a la ligne 2
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    set $fin=& call :CenterText Center strLen

    il y a le "& call" qui est reconnu comme une commande, et non comme un texte a écrire dans le .txt
    du coup cela n'ecrit rien dans le .txt

    si je fais ca:

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    set $fin="& call :CenterText Center strLen"

    cela écris les guillemets, hors je n'en veut pas...

    donc ma question est: comment fais en sorte que & call :CenterText Center strLen soit vu comme un texte a ecrire et non comme une commande a executer ?...

    merci d'avance

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Une idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    set $deb=set Center=
    set $fin=^& call :CenterText Center strLen
    copy config\liste-tagavant.txt \TAG\TMP\liste-tag.cmd
    echo %$deb% ^%$tag% %$fin%>>\TAG\TMP\liste-tag.cmd
    type config\liste-tagapres.txt <NUL >> \TAG\TMP\liste-tag.cmd 
    goto :menu1

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2018
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Août 2018
    Messages : 24
    Par défaut
    pourquoi les ^ avant & call et avant %$tag% ?

    et sinon cela ne marche pas cela me donne dans mon fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo.
                                        5.Quitter 
    echo.
    les echo. c'est le tag precedents et celui du fichier liste-tagapres.txt

    je sais plus quoi faire...

    en gros je veux rajouter un TAG (variable %$tag%) dans le fichier liste-tag.cmd mais il faut qu'il soit comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set Center=TAG & call :CenterText Center strLen

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Je me suis tromper de variable :

    Le & s'échappe avec ^ :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set $deb=set Center=
    set $fin=^& call :CenterText Center strLen
    echo %$deb% %$tag% ^%$fin%
    ou en simplifi1er :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @ECHO OFF
    set $deb=set Center=
    set $fin= call :CenterText Center strLen
    echo %$deb% %$tag% ^&%$fin%
    defini juste ta variable TAG

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2018
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Août 2018
    Messages : 24
    Par défaut
    je me suis douté que tu n'avais pas mis ^ pour rien
    j'ai donc continuer l’enquête avant que tu ne répondes et j'avais trouvé.

    j'ai fait comme ça du coup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo set Center= %$tag% ^& call :CenterText Center strLen
    en tout cas merci de ton retour cela me montre que je ne m’étais pas trompé du coup, c'est cool !

    et cela marche parfaitement,

    cela écrit a la suite du fichier liste-avant.txt puis un TYPE écrit la fin du fichier (récupéré dans liste-apres.txt)
    et convertit tout cela en liste.cmd exploitable par mon script.

    grâce a tes aide mon outils d'inventaire pour le taff devient de plus en plus complet et performant donc sincèrement MERCI !!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/12/2016, 10h53
  2. Réponses: 2
    Dernier message: 23/04/2009, 10h24
  3. Réponses: 1
    Dernier message: 22/04/2009, 22h39
  4. Récuperer le output d'une commande dans un .txt
    Par geeksideofme dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/03/2008, 14h05
  5. Ecrire le résultat d'une commande dans un fichier de l' OS
    Par Labienus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/02/2004, 11h04

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