Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1999 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [dos] probleme de caracteres dans un fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[dos] probleme de caracteres dans un fichier

n°512084
kicest
Mais qui c'est ce kicest ?
Posté le 10-09-2003 à 22:56:01  profilanswer
 

Bonjour,
 
je dois realiser un batch sous dos, et voici ma problematique.
 
Je recupere des fichiers ascii, et je dois les traiter ligne à ligne.
 
J'ai testé plein de methode à base de FOR, mais cela ne traitait pas toutes les lignes.
 
Apres avoir reperé les lignes qui provoquait des ruptures, voici ce dont je me suis apercu.
 
Dans certaine ligne il y a des caracteres (repere avec wordpad, et confirme avec ultra-edit) non affichables, le code hexa est "00" (zero binaire ?)
 
Du coup la commande FOR ne traite pas le fichier ligne a ligne, mais considere 1 ligne = le debut d'une ligne jusqu'a ce caractere.
 
Les fichiers sont crees en sortie d application COBOL, les lignes font 513 caracteres de long.
 
Question :
 
Peut-on modifier dans un fichier une valeur hexa par une autre ?
y'a t-il d'autres moyens de traiter un fichier que FOR ?
Le separateur de ligne 0D0A peut-il etre changé depuis un batch ?
 
Merci de vos reponses.
 
Precisions : Je ne peux faire que du batch DOS, pas de C, vbs, etc ...

mood
Publicité
Posté le 10-09-2003 à 22:56:01  profilanswer
 

n°512418
Carbon_14
Posté le 11-09-2003 à 14:07:31  profilanswer
 

Je ne peux faire que du batch DOS, pas de C, vbs, etc ...
 
En cas de besoin, y a moyen de lancer une appli spécifique écrite en C pour DOS (genre de filtre), le batch s'en sert.
 
En C, le 00 c'est la fin d'une chaîne de caractères, dommage qu'il soit dans le fichier
Le DOS ne considère pas une ligne se terminant en 0D0A ? (CrLf ?)
 
 [:yoyoz] aux spécialistes
("tr" sous UNIX translate des caractères d'après ce qu'on m'a dit, existe pas sous DOS (?))

n°515340
kicest
Mais qui c'est ce kicest ?
Posté le 15-09-2003 à 23:38:47  profilanswer
 

CARBON_14 a écrit :

Je ne peux faire que du batch DOS, pas de C, vbs, etc ...
 
En cas de besoin, y a moyen de lancer une appli spécifique écrite en C pour DOS (genre de filtre), le batch s'en sert.
 
En C, le 00 c'est la fin d'une chaîne de caractères, dommage qu'il soit dans le fichier
Le DOS ne considère pas une ligne se terminant en 0D0A ? (CrLf ?)
 
 [:yoyoz] aux spécialistes
("tr" sous UNIX translate des caractères d'après ce qu'on m'a dit, existe pas sous DOS (?))


le dos se sert de 0d0a comme separateur de ligne, helas quand je prend ce fichier dans un FOR pour traiter mes lignes 1 à 1, celui-ci "perd" les pedales en arrivant sur la ligne avec le "00" ....
J'ai réussi à contourner le problème en faisant un FIND /V des lignes contenant le caractère "00". Cependant je me retoruve avec le restant de la ligne (après le "00" ) comme une ligne normale.
mais bon je traite enfin toutes les lignes du fichier.

n°515454
JPA
Posté le 16-09-2003 à 08:47:03  profilanswer
 

Il existe un programme pour remplacer tous les 00 binaires dans un fichier par le caractère espace.
Je recherche et je reposte.
 
A+

n°515457
JPA
Posté le 16-09-2003 à 08:49:47  profilanswer
 

C'est dans le pack DOS que tu trouveras là :
http://www.herve-thouzard.com/free.phtml
 
A+

n°516803
kicest
Mais qui c'est ce kicest ?
Posté le 17-09-2003 à 23:04:41  profilanswer
 

JPA a écrit :

C'est dans le pack DOS que tu trouveras là :
http://www.herve-thouzard.com/free.phtml
 
A+


merci pour ce pack qui a l'air super interessant.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [dos] probleme de caracteres dans un fichier

 

Sujets relatifs
PHP+Classes+utilisation du parser XML : probleme avec les handlers[Log4J+JBoss+JMS] Probleme de type de message
[c/unix] voir le fichier asm ??Problème d'effacement
division d'une chaine de caractères en sous chaines de caractèreslecture fichier
[Java-XML] Arret de lecture d'un fichier XML avec un parser SAXProblème protocole DCOM ???
la chaine de caractères dans std::exception[C] problème de lecture de caractères dans un fichier
Plus de sujets relatifs à : [dos] probleme de caracteres dans un fichier


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR