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.
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.
Partager