Créer un fichier batch (.bat)

Fermé
Signaler
Messages postés
8
Date d'inscription
mercredi 7 janvier 2015
Statut
Membre
Dernière intervention
16 août 2019
-
 Utilisateur anonyme -
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 « -> ».

3 réponses

Messages postés
3455
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
25 août 2021
781
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
Messages postés
8
Date d'inscription
mercredi 7 janvier 2015
Statut
Membre
Dernière intervention
16 août 2019

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
Messages postés
3455
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
25 août 2021
781
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
Messages postés
8
Date d'inscription
mercredi 7 janvier 2015
Statut
Membre
Dernière intervention
16 août 2019
>
Messages postés
3455
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
25 août 2021

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

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