Problème programme remplacement \n\r

Résolu
buggs84870 Messages postés 41 Statut Membre -  
buggs84870 Messages postés 41 Statut Membre -
Bonjour,

Je dois remodeler un fichier pour pouvoir l'adapter à un programme.

Ce que je dois faire:
- Enlever tout les retours chariots et les remplacer par un ";"

Mon fichier de sortie devra donc faire une et une seule ligne.

Petit problème rencontré:
- Mise à part le problème que je ne sais pas comment remplacer des \r\n j'ai quand même essayé de juste les enlever pour faire une seule ligne avec:

@echo off
for /f "delims=" %%A in ('type NomTexte.txt') do (
set /p "Tmp=%%A" 0>nul 1>>file.txt
)
pause


Problème: Certaines lignes de mon fichier texte commencent par des ";", ces lignes là sont malheureusement supprimées ..

Exemple de fichier de base:
;Il y a un point virgule
Il y a pas de point virgule
;Il y a encore un point virgule
Il n'y a encore pas de point virgule

Fichier de sortie après script:
Il y a pas de point virguleIl n'y a encore pas de point virgule

Fichier de sortie voulu après script:
;Il y a un point virgule;Il y a pas de point virgule;;Il y a encore un point virgule;Il n'y a encore pas de point virgule

(bien entendu sur qu'une seule ligne)

Merci infiniment.

Cordialement buggs,

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    C:> type f1.txt
    ;Il y a un point virgule
    Il y a pas de point virgule
    ;Il y a encore un point virgule
    Il n'y a encore pas de point virgule

    C:> bb

    C:> type f2.txt
    ;;Il y a un point virgule;Il y a pas de point virgule;;Il y a encore un point virgule;Il n'y a encore pas de point virgule

    C:> type bb.bat
    @echo off
    setlocal ENABLEDELAYEDEXPANSION
    set var=
    for /f "eol=$ delims=" %%a in ('type f1.txt') do (
    set var=!var!;%%a
    )
    echo !var!>f2.txt
    0
  2. buggs84870 Messages postés 41 Statut Membre 10
     
    Merci beaucoup ça marche du tonnerre !

    Bonne journée !
    0