Partage
  • Partager sur Facebook
  • Partager sur Twitter

Powershell - Resultat

Sujet résolu
    14 juin 2018 à 17:04:42

    Hello :)

    Quel est la commande qui permet de supprimer des caractères après un résultat d'une commande ?

     Par exemple: Tout ce qui se trouve après (;) je supprime.

    Neo

    • Partager sur Facebook
    • Partager sur Twitter

    Neo

      15 juin 2018 à 17:04:11

      Bonjour,

      Manque de précisions

      Vous êtes ici sur un forum d'entraide communautaire et non pas sur un forum de demande de service, le but n'est donc pas de fournir une réponse toute faite ou de directement fournir la solution à quiconque viendrait sans la moindre trace. Afin d'obtenir de l'aide et une solution à votre problème, il est fortement recommandé de présenter clairement l'état actuel du problème en nous fournissant :

      • Un descriptif clair et précis du problème
      • La tentative actuelle de résolution que vous avez effectué
      • Le résultat attendu et le résultat actuel
      • Toutes pistes de recherches pouvant aider à la résolution
      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        15 juin 2018 à 18:56:07

        Bonjour,

        J'ai effectué la commande Get-content pour lister mon fichier et en lançant cette commande, j'ai obtenu l'ensemble de ce fichier (1er colonne (prénom), 2eme colonne (nom)). 

        Affichage de la commande : 

        Get-Content .\test.csv

        Affichage du résultat :

        adrien;durand
        fabrice;petit

        Ce que je souhaiterai c'est obtenir que les prénoms sur cette requête, est-ce possible ?

        Neo



        • Partager sur Facebook
        • Partager sur Twitter

        Neo

          21 juin 2018 à 13:25:45

          Bonjour Neo,

          Pour ton besoin, tu peux utiliser la commande Import-CSV à la place de la commande Get-Content.

          Import-CSV -path .\test.csv -Delimiter ';'

          Il ne te reste plus qu'à filter la propriété dont tu as besoin. Ton fichier dispose t'il d'entête de colonne ?

          • Partager sur Facebook
          • Partager sur Twitter
            22 juin 2018 à 10:12:13

            Bonjour Nico,

            Merci pour ton aide ;) ça fonctionne !!!

            Par contre mes colonnes ne disposent pas d'entête... comment puis-je lister sans entête ?

            Voici ci-dessous mon code + le résultat :

            $CSV = Import-Csv -Path "C:\Users\Neo\Desktop\CSV\test.csv" -Delimiter ';'
            
            Foreach($users in $CSV){
            
              
                Write-Host $users
            
                   
            }
            
            @{adrien=fabrice; durand=petit}




            Neo

            • Partager sur Facebook
            • Partager sur Twitter

            Neo

              22 juin 2018 à 10:40:40

              Salut Neo,

              as-tu essayer les fonctions split() et readline() ? ou encore le Select-Object ...

              Mais c'est vrai que c'est plus simple avec des entêtes

              -
              Edité par iVault 22 juin 2018 à 11:08:27

              • Partager sur Facebook
              • Partager sur Twitter
                22 juin 2018 à 13:38:07

                Salut iVault,

                J'arrive à récupérer la colonne de mon choix en indiquant à ma variable $users.durand.

                Mais comment passer avant le premier nom avec les fonctions split et readline ?

                J'ai essayé de mettre cette fonction sur la variable $CSV ou $users  :

                $CSV = Import-Csv -Path "C:\Users\Neo\Desktop\CSV\test.csv" -Delimiter ';'
                
                
                Foreach($users in $CSV){
                
                  
                   $users.split() 
                
                      
                }
                 



                Échec lors de l’appel de la méthode, car [System.Management.Automation.PSCustomObject] ne contient pas de 
                méthode nommée «split».
                Au caractère Ligne:8 : 4
                +    $users.split()
                +    ~~~~~~~~~~~~~~
                    + CategoryInfo          : InvalidOperation : (split:String) [], RuntimeException
                    + FullyQualifiedErrorId : MethodNotFound




                Neo

                -
                Edité par 3nD Of Th3 W0RLD 22 juin 2018 à 13:43:26

                • Partager sur Facebook
                • Partager sur Twitter

                Neo

                  22 juin 2018 à 14:21:23

                  $MonCsv = "C:\Users\...\Documents\test.csv" 
                  
                  do{
                      foreach ($Ligne in $MonCsv){
                          $Ligne = get-content -Path $MonCsv  | Select-Object -Index 0 
                          $ligne_splitted = $Ligne.split(";")
                          $ligne1  = $ligne_splitted[0]
                          $ligne2  = $ligne_splitted[1]
                      }
                  } until ($Ligne -ne $null)
                  
                  $ligne1 
                  $ligne2 


                  Essaie ce code et dis moi si il te va, parce que j'avoue que j'ai un peu de mal à comprendre ce que tu veux comme résultat exactement ^^

                  Index 0 = la première ligne de ton fichier csv

                  Index 1 = la deuxième

                  etc

                  -
                  Edité par iVault 7 mai 2019 à 12:30:47

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 juin 2018 à 15:22:04

                    J'ai essayé ton code mais malheureusement ce n'est pas ce que je souhaite.

                    Je souhaiterai lister ma deuxième colonne.

                    Neo

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Neo

                      22 juin 2018 à 15:42:10

                      Ah d'accord du coup ce n'est pas la bonne solution...

                      Je ne peux pas t'en dire plus malheureusement, ce que je peux faire c'est te rediriger  http://powershell-scripting.com/index.php?option=com_joomlaboard&Itemid=76&func=showcat&catid=5

                      Des "pro" powershell te répondront assez rapidement

                      -
                      Edité par iVault 22 juin 2018 à 15:42:55

                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 juin 2018 à 16:42:32

                        Ha ok...

                        De toute façon, je laisse ce sujet non-résolu tant que je n'ai pas trouvé la solution.

                        Merci de ton aide.

                        Neo

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Neo

                          24 juin 2018 à 9:32:37

                          Bonjour, 

                          Pour répondre à ta question, Import-Csv dispose du paramètre -Header. Il positionnera des noms de colonne pour toi.

                          Exemple :

                          -Fichier test.csv :

                          adrien;durand
                          fabrice;petit

                          -Importation du fichier csv : 

                          PS > $Users = Import-csv -Path .\tet.csv -Delimiter ';' -Header 'Prenom','Nom'

                          -Résultat de l'importation : 

                          PS > $Users
                          Prenom  Nom
                          ------  ---
                          adrien  durand
                          fabrice petit

                          -Ciblage de la colonne Nom :

                          PS > $Users.Nom
                          durand
                          petit

                          Désolé si j'ai mis un peu de temps à te répondre ;)

                          J'espère avoir résolu ton problème.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 octobre 2018 à 7:25:32

                            Bonjour NicolasBaudin 😀

                            Merci pour ta réponse. Je vais essayer et je te dirais.

                            Désolé pour mon retour très tardive.

                            Neo

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Neo

                            Powershell - Resultat

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown