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 :

Suppression des 'CR' 'LF' dans une partie du fichier [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Par défaut Suppression des 'CR' 'LF' dans une partie du fichier
    Bonjour,

    Je ne suis pas du tout expert en développement batch et je suis confronté à un petit soucis.
    J'ai fait un programme COBOL, qui écrit une liste de données dans un fichier séquentiel (4 premières lignes de l'image), j'ai un prestataire qui me fourni plusieurs autres fichiers avec des données du même type (lignes 5 à 11).
    Lorsque je reçois leurs fichiers je les concatène à l'aide d'un batch avec mon fichier initial.

    Ensuite j'envoie ce nouveau fichier chez un autre prestataire (je sais ça fait beaucoup de prestataires), et celui-ci me remonte qu'il y a un soucis dans le fichier car il y a des CRLF en fin de certaines lignes, voir image ci-dessous.

    Nom : fichier_anonymisé.jpg
Affichages : 125
Taille : 116,0 Ko

    De ce fait j'ai essayé de faire un batch pour supprimer ces caractères. Mais je ne trouve pas ma solution. J'ai essayé les 3 codes ci-dessous (que j'ai trouvé sur internet dont un sur ce site).

    Ce code me supprime bien les CRLF mais je n'ai plus qu'une seule ligne. Or il me faut toujours les sauts de lignes sans les caractères CRLF (je sais que ça semble compliqué, mais pourtant dans mon premier fichier séquentiel j'ai mes sauts de lignes sans ces caractères)
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "delims=" %%A in ('type basetype.csv') do (set /p "Tmp=%%A" 0>nul 1>>sortie.csv)


    Ensuite j'ai essayé ces deux codes suivants, mais ils ne m'ont rien changé.
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "eol= delims= usebackq" %a IN (basetype.csv) DO (ECHO %a>> sortie.csv)
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    findstr /v "^$" basetype.csv > sortie.csv

    Je ne sais pas si c'est faisable, mais si quelqu'un a une idée je suis preneur.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Tu devrais regarder du côté de l'utilitaire dos2unix disponible ici : https://sourceforge.net/projects/dos2unix/
    Il te permettra de convertir les caractères de contrôle CRLF en LF

    Les 4 premières lignes de ton fichier n'ont pas de caractère de saut de ligne (LF) car dans ton programme COBOL tu as oublié de les mettre :
    https://community.microfocus.com/t5/...a/td-p/1735063

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Par défaut
    En fait je ne veux pas ces caractères.
    J'aimerai que toutes les lignes soient comme les 4 premières.

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Ce n'est pas possible en batch.

    Puisqu'apparemment COBOL permet ce genre de fantaisie, pourquoi ne pas le faire en COBOL ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Par défaut
    C'était juste pour gagner quelques heures de développement.

    En tout cas merci pour tes réponses.

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

Discussions similaires

  1. [XML] Enregistrer des données dans une partie d'un xml existant (assez urgent) Merci
    Par jameson dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/11/2010, 13h26
  2. Réponses: 1
    Dernier message: 08/12/2009, 22h35
  3. Réponses: 5
    Dernier message: 25/02/2008, 14h34
  4. Réponses: 2
    Dernier message: 26/07/2007, 08h35
  5. suppression des caratères spéciaux dans une table
    Par syl221 dans le forum Access
    Réponses: 6
    Dernier message: 31/08/2005, 09h20

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