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 :

[DOS] Transformation d'un fichier TXT


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Commerçant
    Inscrit en
    Août 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Août 2019
    Messages : 3
    Par défaut [DOS] Transformation d'un fichier TXT
    Bonjour,
    Tout d'abord toutes mes excuses si je ne suis pas dans la bonne catégorie ou si je n'ai pas mis les bonnes formes.
    Merci de me le dire.
    Mon problème:
    J'ai un fichier TXT qui résulte d'un terminal d'inventaire, il est sous la forme:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <inventaire>
    <ligne>
    <codelu>
    5415203803573
    </codelu>
    <qte>
    1
    </qte>
    </ligne>
    <ligne>
    <codelu>
    43106233140029
    </codelu>
    <qte>
    4
    </qte>
    </ligne>
    <ligne>
    <codelu>
    8004360078879
    </codelu>
    <qte>
    3
    </qte>
    </ligne>
    </inventaire>
    et pour le back office de ma caisse j'ai besoin d'un fichier TXT sous la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    5415203803573;1
    43106233140029;4
    8004360078879;3
    Pour l'instant avec la commande : findstr/v "<" Inventaire.txt > Resultat.txt, j'arrive à ce résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    5415203803573
    1
    43106233140029
    4
    8004360078879
    3
    Mais j'ai donc besoin encore de remonter la quantité sur la ligne du code barre et de les séparer par un ; point virgule.
    Existe t il une ou plusieurs commandes qui me permettrait de faire ça svp?
    Merci de votre écoute
    Cordialement
    Jean-Marc

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Le format de ton fichier de départ est un format XML, le format d'arrivée est un banal format CSV qu'Excel gère très bien. Et Excel sait ouvrir du XMl.

    Donc tu ouvre ton fichier de départ avec Excel. Au besoin tu corrige le format des colonnes si Excel fait un peu trop de zèle, puis tu enregistre sous un nouveau fichier, en choisissant le format CSV, séparateur point-virgule.

    Et cette opération, en automatique, doit pouvoir être faite avec un script powershell, mais là, je sais pas faire.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Commerçant
    Inscrit en
    Août 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Août 2019
    Messages : 3
    Par défaut
    Bonjour,
    Je n'ai pas vos connaissances et je me suis peut être planté mais j'ai déjà essayé ça.
    Mon problème est que le tableur me perd les zéros non significatifs qui se situent au début de certains codes barres.
    Je ne peux pas rectifier en y mettant un format de cellule avec un masque de zéros car certains codes barres font 13 chiffres et d'autres 14.
    Y a t il une manip qui me permettrait de garder ces zéros?
    Merci
    Cordialement
    Jean-marc

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    En powershell

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $xml = [xml](Get-Content -Path "input.xml")
     
    $xml.inventaire.ligne | 
    ForEach-Object {($_.codelu.ToString() -replace "[\r\n]", "") + "," + ($_.qte.ToString() -replace "[\r\n]", "")} | 
    Set-Content -Path "outpout.txt" -Force

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Commerçant
    Inscrit en
    Août 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Août 2019
    Messages : 3
    Par défaut
    Bonjour,
    Merci beaucoup ericlm128, cela fonctionne parfaitement bien.
    J'ai juste remplacer la , par un ; et modfier les noms de fichier
    Je vais tout de suite m'en servir pour bosser et ensuite je me pencherai dessus pour comprendre.
    Je marque ça en résolu.
    Merci beaucoup.
    Cordialement
    Jean-Marc

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

Discussions similaires

  1. [XL-2007] Importer ou transformer automatiquement un fichier .txt en excel, est -il possible ?
    Par Debutant10 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/10/2011, 19h59
  2. [Débutant] transformer var en fichier txt
    Par muddation dans le forum MATLAB
    Réponses: 2
    Dernier message: 11/05/2010, 02h11
  3. Réponses: 5
    Dernier message: 19/06/2008, 23h03
  4. Réponses: 11
    Dernier message: 30/08/2007, 09h08
  5. [Tableaux] transformation d'un fichier txt en xml
    Par edophie dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2006, 12h55

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