Se connecter avec
S'enregistrer | Connectez-vous

Modifier le contenu d'un fichier texte par BAT

Dernière réponse : dans Programmation

Bonsoir à tous je cherche à créer un fichier BAT qui me permettrais de modifier un fichier texte
"PLIGNES.txt" .
En effet je voudrais que le fichier bat me copie le contenu du fichier et créer un autre fichier
"SLIGNES.txt" afin que j'obtienne le texte entre les "====" sur une seul ligne :

AVANT:

Site : AENA_ROUTES_DE_TRARTAN Dest. : R Nb El : 40 G : 0 Cadrans = 53

Liste créé le : 08-01-2007 Date : 12/01/2007 13:45:02
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BTR LOT ST CHRISTOPHE /QUARTIER Y
Affectation : réalisée = SF
>>> Date : 10 / 01 / 2007 <<< >>> Date : 10 / 01 / 2007 à 18:53:52 <<<
===========================================================================================================
Réf Client : 565 905 930 567 -> Nom : MONSIEUR ANCEL JULES
Adresse : QUARTIER YOYOYE EMPL :
Tronçon : 3-QUARTIER YOYOYE

ElTOURNEE Tar : 0440 Mat : 779 Nb Roues : 5

Libellé de l'anomalie :
----------------------------
IN CONFIRME HC HA
HP 287633

===========================================================================================================
Réf Client : 675 725 918 301 -> Nom : JEAN SARL
Adresse : QUARTIER MANSARDE CATALOGNE
Tronçon : 1-QUARTIER MANSARDE

ElTOURNEE Tar : 0140 Mat : 123 Nb Roues : 4
Identifiant CCTR ou CBE : 080523605791

Libellé de l'anomalie :
----------------------------
PER AU

===========================================================================================================

APRES AVOIR EXECUTE LE FICHIER BAT:

Réf Client : 565 905 930 567 -> Nom : MONSIEUR ANCEL JULES Tronçon : 3-QUARTIER YOYOYE ElTOURNEE Tar : 0440 Mat : 779 Nb Roues : 5Libellé de l'anomalie :----------------------------IN CONFIRME HC HA HP 287633

Réf Client : 675 725 918 301 -> Nom : JEAN SARL Adresse : QUARTIER MANSARDE CATALOGNETronçon : 1-QUARTIER MANSARDE ElTOURNEE Tar : 0140 Mat : 123 Nb Roues : 4 Identifiant CCTR ou CBE : 080523605791Libellé de l'anomalie :----------------------------PER AU

Merci beaucoup pour votre aide
Lassé par la pub ? Créez un compte

Merci pour ton info CRicky mais je suis un novice en dos et fichier bat, pourrait tu me donner le code pour utiliser la commande FOR/F, je n'arrive pas à ecrire le fichier bat malgré les info du lien que tu ma donné, merci d'avance pour ton aide

J'ai lu et compris toute la page indiqué et il est vrai qu'elle ne répond pas au problème de monsieur :)  je suis dans le même cas j'aimerais supprimer plusieurs caractères d'un fichier texte automatiquement par l'intermediaire d'un batch ou mini programme en C++ je sais pas.
Expert Programmation

Il faut activer l'expansion retardée des variables (HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion mis à 0x00000001, ou cmd /V)

  1. @echo off > fichier2.txt
  2.  
  3. for /F "delims=" %%A in (fichier1.txt) do(
  4. set var=%%A
  5. set var=!var:maChaine=!
  6. echo !var! >> fichier2.txt
  7. )

(non testé)

Attention aux caractères spéciaux comme ) où il faudra mettre ^) pour que l'interpréteur de commande ne l'interprète pas.
Expert Programmation

J'ai pas testé, mais ça doit fonctionner.

Je pense que tu n'as pas activé l'expansion retardé (qui n'est pas activé par défaut), je me trompe ? :) 
Citation :
Il faut activer l'expansion retardée des variables (HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion mis à 0x00000001, ou cmd /V)

Il n'y a pas la ligne DelayedExpansion.
J'ai CompletionChar, DefaultColor, EnableExtensions et PathCompletionChar.
Mais je voulais créer ce soft pour un pote qui travaille dans l'armement et je pense pas qu'il aura accès à la base de registre :-S
Expert Programmation

parce que ce n'est pas évident à maintenir, et que le codage est complexe pour ce qu'il faut faire...
pour le /v, fait un HELP CMD et tu auras la réponse:
Citation :
/V: ON Active l'expansion retardée des variables d'environnement en
utilisant ! comme délimitation.
Par exemple, /V: ON permet à !var! de développer la variable var à
l'exécution. La syntaxe var développe les variables lorsqu'elles sont
entrées, ce qui est différent lorsque utilisé à l'intérieur d'une
boucle FOR.
/V: OFF Désactive l'expansion retardée des variables d'environnement.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde