Créer un fichier batch (.bat)

Fermé
yazidioubi Messages postés 8 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 16 août 2019 - 16 août 2019 à 12:02
 Utilisateur anonyme - 16 août 2019 à 13:32
Bonjour,

Sachant qu’on a le fichier texte suivant:
  • 0000000000003000345800185000000000000002052017108018010003650
  • 000000000000302082890010000000000T SECTEUR SANITAIRE JIJEL 1
  • 000000000000306758680008500000000TIC ZIAMA MANSOURIAH 1

->

Chaque ligne contient 62 valeurs, y compris les espaces.
L’entête contient à la fin avant le chiffre ‘0’ :052019, qui est le mois et l’année, 052017 :=Mai 2017 ; et contient aussi 14 valeurs : 10801801000365.
Dans ce fichier texte Il y a aussi une ligne à la fin qui contient « -> » ; un ligne vide, et un espace après le dernier chiffre « 1 » de la première ligne.
Je veux créer un fichier batch (.bat), qui aura comme tache de :
• Modifier le mois et l’année pour qu’on obtient le mois et l’année courante, (on est dans le mois d’Aout 2019, alors on obtient 082019).
• Supprimer les valeurs après le mois et l’année ; c.-à-d. après 052017, c'est-à-dire 14 valeurs, et on garde la valeur ‘0’.
• Supprimer l’espace après le dernier chiffre ‘1’ de la première ligne.
• Supprimer la ligne vide et la ligne qui contient « -> ».
A voir également:

3 réponses

luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
16 août 2019 à 12:32
Bonjour

Merci de mettre le code que vous avez déjà produit (dans une balise code) afin qu'on puisse identifier les éventuelles erreurs
0
yazidioubi Messages postés 8 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 16 août 2019
16 août 2019 à 12:48
Je n'ai même pas essayer de le faire monsieur; je suis un débutant
Je compte sur votre aide monsieur
0
Je n'ai même pas essayer de le faire monsieur; je suis un débutant
0
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
16 août 2019 à 12:51
Pourquoi faire ça en Batch alors ? À la main ça irait plus vite. Et ça évite les éventuels bugs.
Aujourd'hui si j'avais ce travail à faire sur 3000000 de valeurs je le ferais en Java plutôt qu'en Batch

Ah et oui... l'énoncé est pas vraiment clair. Ça doit l'être pour celui qui l'écrit mais ça l'est pas

Chaque ligne contient 62 valeurs, y compris les espaces.
Ok, je vois. Y a que 3 lignes ?????!!! Fais-le à la main

L’entête contient à la fin avant le chiffre ‘0’ :052019, qui est le mois et l’année, 052017 :=Mai 2017 ; et contient aussi 14 valeurs : 10801801000365.
Quel entête ? Il fait quelle taille ? Combien de zéros avant l'entête ?
Je retrouve pas la valeur 052019. Et les 14 valeurs ne sont que dans la première ligne

Dans ce fichier texte Il y a aussi une ligne à la fin qui contient « -> » ; un ligne vide, et un espace après le dernier chiffre « 1 » de la première ligne.
Okay soit

Je veux créer un fichier batch (.bat), qui aura comme tache de :
• Modifier le mois et l’année pour qu’on obtient le mois et l’année courante, (on est dans le mois d’Aout 2019, alors on obtient 082019).

Okay

• Supprimer les valeurs après le mois et l’année ; c.-à-d. après 052017, c'est-à-dire 14 valeurs, et on garde la valeur ‘0’.
Alors désolé mais là : SECTEUR SANITAIRE JIJEL 1
Y a plus de 14 valeurs
Y a pas de zéros à la fin
Y a pas de 052017 ou assimilé avant
je fais quoi ?

• Supprimer l’espace après le dernier chiffre ‘1’ de la première ligne.
Okay

• Supprimer la ligne vide et la ligne qui contient « -> ».
Okay
0
yazidioubi Messages postés 8 Date d'inscription mercredi 7 janvier 2015 Statut Membre Dernière intervention 16 août 2019 > luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022
16 août 2019 à 13:10
J'ai posé cette question parce que j'ai plusieurs fichiers textes, chaque fichier contient plus de 10000 ligne.
l’entête c'est:
  • 0000000000003000345800185000000000000002052017108018010003650

62 valeurs, jeux supprimer les valeurs: 10801801000365, les remplace par des espaces et garde le zéro à la fin, d'une manière a garder 62 valeurs dans l’entête.
la valeur 052019: erreur de frappe, je l'ai modifier
les lignes on les gardes tel qu'ils sont, on touche pas le contenu qui est avant les chiffre 1 (de la fin des lignes)
0
Utilisateur anonyme
16 août 2019 à 13:32
Si la date a toujours le même rang dans la ligne, c'est très facile à faire en Basic; et si tu es sous Windows tu peux aller voir là (gratuit): http://libertybasic.fr/forum/index.php
0