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 :

Ajouter une chaine de caractère [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2016
    Messages : 10
    Par défaut Ajouter une chaine de caractère
    Hello, j'ai récupéré sur internet deux scripts afin de modifier des chaines de caractères. Sur la première partie, aucun problème, le script se déroule correctement.

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off&cls
    set $fichier=insert.txt
     
    set $chaine=Système: [
    set $remplace=('
    set $chaine2=] 
    set $remplace2=','
    set $chaine3= 
    set $remplace3=','
     
    if exist output.txt del output.txt
    setlocal EnableDelayedExpansion
    for /f "delims=" %%a in ('type %$fichier%') do (
        set $ligne=%%a
        set $ligne=!$ligne:%$chaine%=%$remplace%!
    	set $ligne=!$ligne:%$chaine2%=%$remplace2%!
        set $ligne=!$ligne:%$chaine3%=%$remplace3%!
        echo !$ligne!>>output.txt)

    Cette partie me permet de remplacer des caractères par une chaîne de caractères.

    Pour la seconde partie, je souhaite ajouter une chaîne de caractères. Le script ne pose pas de problème quand il est exécuté seul mais j'aimerais rassembler les deux scripts. Or, seule la première partie fonctionne.

    La seconde partie:

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "delims=" %%i in ('type insert.txt') do echo %%idate_player>> etape2.txt

    Que j'essaye d'adapter:

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f "delims=" %%i in ('type %$fichier%') do (
    	set $ligne=%%i
    	set $ligne=',DATE('now')),
        echo !$ligne!>>output.txt)

    Mon code final:

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @echo off&cls
    set $fichier=insert.txt
     
    set $chaine=Système: [
    set $remplace=('
    set $chaine2=] 
    set $remplace2=','
    set $chaine3= 
    set $remplace3=','
     
    if exist output.txt del output.txt
    setlocal EnableDelayedExpansion
    for /f "delims=" %%a in ('type %$fichier%') do (
        set $ligne=%%a
        set $ligne=!$ligne:%$chaine%=%$remplace%!
    	set $ligne=!$ligne:%$chaine2%=%$remplace2%!
        set $ligne=!$ligne:%$chaine3%=%$remplace3%!
        echo !$ligne!>>output.txt)
     
    for /f "delims=" %%i in ('type %$fichier%') do (
    	set $ligne=%%i
    	set $ligne=',DATE('now')),
        echo !$ligne!>>output.txt)
     
    echo OK

    Où est mon erreur ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Simplifions
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=*" %%i in ('type "%$fichier%"') do echo %%~i',DATE^('now'^)^),>>output.txt

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2016
    Messages : 10
    Par défaut
    Hello, merci pour la réponse.

    Le but du script est de partir de ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [AAA] PlayerA 111/1111111
    Et arriver à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ('AAA','Player A','111/1111111',,DATE('now')),
    J'ai essayé le code que tu as donné et ce que j'ai dans le output:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'AAA','Player A','111/1111111
    [AAA] PlayerA 111/1111111',,DATE('now')),

  4. #4
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2016
    Messages : 10
    Par défaut
    Hello, problème résolu, je post le code au cas si une personne cherche une solution:

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    @echo off&cls
    set $fichier=1_Ajout_ID.txt
     
    set $chaine=Système: [
    set $remplace=('
    set $chaine2=] 
    set $remplace2=','
    set $chaine3= 
    set $remplace3=','
     
    if exist 3_Output.txt del 3_Output.txt
    setlocal EnableDelayedExpansion
    for /f "delims=" %%a in ('type %$fichier%') do (
        set $ligne=%%a
        set $ligne=!$ligne:%$chaine%=%$remplace%!
    	set $ligne=!$ligne:%$chaine2%=%$remplace2%!
        set $ligne=!$ligne:%$chaine3%=%$remplace3%!
    	echo !$ligne!',DATE^('now'^)^),>>3_Output.txt)
     
    echo OK

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

Discussions similaires

  1. Ajouter une chaine de caractère dans toutes les lignes d'un fichier
    Par kromei dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 19/03/2013, 13h34
  2. Réponses: 2
    Dernier message: 08/02/2013, 17h21
  3. [Toutes versions] Ajouter une chaine de caractère à la fin d'une autre chaine
    Par esstin dans le forum Excel
    Réponses: 2
    Dernier message: 02/05/2009, 15h54
  4. [RegEx] Ajouter une chaine de caractères à un tableau
    Par the magic developer dans le forum Langage
    Réponses: 10
    Dernier message: 03/11/2008, 10h14
  5. utilisation de SED pour ajouter une chaine de caractère en début de texte
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/03/2008, 09h12

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