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 ligne dans un fichier texte


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 11
    Points
    11
    Par défaut Ajouter une ligne dans un fichier texte
    Bonjour,

    J'écris un batch pour ajouter une ligne dans un fichier texte (.bat)
    J'ajoute du texte sur la troisième ligne du fichier. (variable %tmp%)

    Mes variables:
    mess_rem = texte à ajouter en début de fichier
    mess = texte à ajouter
    fichier_sync_tmp = nom du fichier temporaire
    fichier_sync = fichier d'origine a modifier

    Mon code:

    Code : 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
    set /a a1=0
    set /a tmp=3
    
    rem ajout de la première ligne
    echo %mess_rem% > %fichier_sync_tmp%
    
    rem on lit le fichier ligne par ligne
    for /f "delims=" %%a in ('type %fichier_sync%') do call :subfor %%a
    
    goto suite
    
    rem on traite ligne par ligne
    :subfor
      set /a a1=a1+1
      rem si le numéro de ligne <> %tmp% je colle le texte d'origine
      rem si le numéro de ligne = %tmp% je colle mon texte ajouté
      if not %a1% == %tmp% echo %1 >> %fichier_sync_tmp%
      if %a1% == %tmp% echo %mess% >> %fichier_sync_tmp%
      goto :EOF
    
    :suite
    Mon problème :
    Lors de la commande do call :subfor %%a dans le :subfor, je ne retrouve que le premier mot de chaque ligne.
    Si je met do call :subfor "%%a" j'ai bien la ligne complète mais avec entre guillemets.

    Si quelqu'un a une solution ...

    Merci

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,


  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Compris, j'ai modifié en :
    :subfor "%%a" et echo %~1.

    Et j'ai toute la ligne sans guillemet.

    Mais un autre pb est apparu:
    Dans mon fichier texte a modifié, j'ai des variables %Toto%
    Et quand je copie la ligne, il me convertis les variables par leurs valeurs.

    Merci

Discussions similaires

  1. [TPW] Ajout d'une ligne dans un fichier texte après une position saisie
    Par Invité dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 19/12/2010, 11h27
  2. supprimer une ligne dans un fichier texte
    Par linouline dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2006, 23h02
  3. Supprimer une ligne dans un fichier texte
    Par @yoyo dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 28/03/2006, 14h19
  4. Supprime une ligne dans un fichier texte
    Par dev7 dans le forum Linux
    Réponses: 4
    Dernier message: 28/03/2006, 01h33
  5. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 16h43

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