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 :

Gestion tableau avec un fichier txt


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2022
    Messages : 8
    Par défaut Gestion tableau avec un fichier txt
    Bonjour à tous,

    Je fais appel à votre aide car ce script me prend la tête depuis un bon moment et je n'abouti pas.
    Voici le souci, j'ai un fichier txt dans lequel j'ai ces informations :

    AAA;A3ER4ESDF
    AAA;A3ER4ESDF
    AAA;A3ER4ESDF
    BBB;ETDIIZNS34
    CCC;ET634DJ83S
    CCC;ET368DJ3YD
    DDD;RHIU73KJSI7
    EEE;KIUYTRETY88
    EEE;KYGFRT8IK4
    EEE;KIUYTRETY88

    Je voudrais faire un script powershell qui lit le fichier et qui compare la premier ligne avec celle du dessous si ce qui est trouver dans la premier colonne est identique a ce qui est en dessous il compare le champs de la colonne a cote avec ce qui est en dessous. Si c'est différent, on continu la logique, si c'est égale on écrit un message dans un autre fichier txt.
    Avec l'explication voici ce que je souhaite faire :

    AAA;A3ER4ESDF
    si AAA = AAA alors est ce que A3ER4ESDF = A3ER4ESDF -> oui -> erreur... pour les 2 lignes suivantes.
    Puis est ce que AAA = BBB -> non
    est ce que BBB= CCC non
    est ce que CCC = CCC oui donc est ce que ET634DJ83S = ET368DJ3YD non donc RAS
    est ainsi de suite.
    SI quelqu'un avait une idée ...

    Au plaisir d'échanger.

  2. #2
    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
    Je te propose un truc simple

    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $contents = Get-Content -LiteralPath "data.txt" -Encoding UTF8
     
    for ($i = 0 ; $i -lt $contents.Length - 1 ; $i++)
    {
        if ($contents[$i] -eq $contents[$i + 1])
        {
            Write-Host "Erreur lignes $i et $($i + 1) : $($contents[$i])"
        }
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Erreur lignes 0 et 1 : AAA;A3ER4ESDF
    Erreur lignes 1 et 2 : AAA;A3ER4ESDF

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2022
    Messages : 8
    Par défaut
    Bonjour,

    Je teste ça et je reviens vers toi.
    En tout merci beaucoup pour le coup de pouce !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2022
    Messages : 8
    Par défaut
    Re,

    Bon je viens de tester,
    Cela fonctionne que sur la première occurrence.

    Je vois bien ça :

    Erreur lignes 0 et 1 : AAA;A3ER4ESDF
    Erreur lignes 1 et 2 : AAA;A3ER4ESDF

    Or si tu regarde le fichier la ligne 8 et la ligne 10 sont identiques et ne sont pas détectées.
    D'autre part si je fais quelque chose comme ça :

    AAA;A3ER4ESDF
    AAA;A3ER4ESDR
    AAA;A3ER4ESDF

    Le script devrait détecter 1 et 3 ce qui n'est pas le cas.
    Une idée d'où cela peut coincer ?

  5. #5
    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
    Oui.

    Je ne compare que 2 lignes qui se suivent c'est ce que j'avais cru comprend ici.
    qui compare la premier ligne avec celle du dessous si ce qui est trouver dans la premier colonne est identique a ce qui est en dessous

    Je vais revoir cela.

  6. #6
    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
    Essaie ceci :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $index = 0
    $content = Get-Content -LiteralPath "data.txt" -Encoding UTF8 | ForEach-Object {
        [PSCustomObject]@{line = $index++;txt = $_}
    }
     
    $grp = $content| Group-Object -Property txt
     
    $grp | Where-Object {$_.Count -gt 1} | ForEach-Object {Write-Host "Erreur lignes $($_.Group.line -join ", ") : $($_.Name)"}

    Équivalent condensé :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    $index = 0;Get-Content -LiteralPath "data.txt" -Encoding UTF8 | ForEach-Object {[PSCustomObject]@{line = $index++;txt = $_}} | Group-Object -Property txt | Where-Object {$_.Count -gt 1} | ForEach-Object {Write-Host "Erreur lignes $($_.Group.line -join ", ") : $($_.Name)"}

Discussions similaires

  1. Remplir un tableau avec un fichier
    Par hacksi dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2008, 12h23
  2. SGBD sur SUN Solaris avec synchro fichier txt
    Par Nicos77 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/02/2007, 15h03
  3. Pb avec le fichiers .txt générés
    Par Emilie MARQUOIS-OGEZ dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2006, 13h43
  4. [DOM] gestion tableau avec DOm
    Par ivanoe25 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/11/2006, 08h33
  5. Problème avec mes fichiers txt
    Par salseropom dans le forum C
    Réponses: 5
    Dernier message: 18/05/2006, 15h07

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