Question
Rediriger la sortie d'un exécutable
- Kévin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 11 mois #291
par Kévin
Rediriger la sortie d'un exécutable a été créé par Kévin
Salut,
je débute avec PowerShell, et je bloque depuis quelques jours :
j'ai trouvé un certain nombre de manières pour rediriger le flux de sortie d'une commande, afin d'effectuer un traitement avant d'afficher. Par exemple :
Get-Process | Out-String -stream | Select-String \"WINWORD\"
Mon problème, c'est que quand je remplace la commande (ici get-process) par un exécutable, tout s'affiche dans la console et je ne récupère aucune donnée. Par exemple :
cvs.exe | Out-String -stream | Select-String \"WINWORD\"
va afficher toutes les lignes sans tenir compte de mon filtre.
J'aimerais donc savoir comment rediriger le flux de sortie d'un exécutable afin d'effectuer un traitement similaire.
Merci d'avance
je débute avec PowerShell, et je bloque depuis quelques jours :
j'ai trouvé un certain nombre de manières pour rediriger le flux de sortie d'une commande, afin d'effectuer un traitement avant d'afficher. Par exemple :
Get-Process | Out-String -stream | Select-String \"WINWORD\"
Mon problème, c'est que quand je remplace la commande (ici get-process) par un exécutable, tout s'affiche dans la console et je ne récupère aucune donnée. Par exemple :
cvs.exe | Out-String -stream | Select-String \"WINWORD\"
va afficher toutes les lignes sans tenir compte de mon filtre.
J'aimerais donc savoir comment rediriger le flux de sortie d'un exécutable afin d'effectuer un traitement similaire.
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 16 ans 11 mois #297
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Rediriger la sortie d'un exécutable
Bonjour KooKiz et bienvenue sur le forum !
Les \"command-lètes\" powershell sont prévues dès la conception à fonctionner avec le pipe, c'est donc normal que get-process fonctionne parfaitement bien.
Par contre ce n'est pas le cas des programmes externes qui peuvent produire des effets aléatoires avec le pipe. Je te recommanderais plutôt de rediriger la sortie de \"cvs.exe\" (pour reprendre ton exemple) dans un fichier.
[code:1]cvs.exe > cvs.txt[/code:1]
Puis de faire un get-content de ton fichier :
[code:1]get-content cvs.txt | Out-String -stream | Select-String \"WINWORD\"[/code:1]
Je ne garantis pas que ça marche car je n'ai pas pu tester mais je pense que c'est une meilleure direction pour arriver à tes fins.
Tiens nous au courant de la suite...
@++
Arnaud
Les \"command-lètes\" powershell sont prévues dès la conception à fonctionner avec le pipe, c'est donc normal que get-process fonctionne parfaitement bien.
Par contre ce n'est pas le cas des programmes externes qui peuvent produire des effets aléatoires avec le pipe. Je te recommanderais plutôt de rediriger la sortie de \"cvs.exe\" (pour reprendre ton exemple) dans un fichier.
[code:1]cvs.exe > cvs.txt[/code:1]
Puis de faire un get-content de ton fichier :
[code:1]get-content cvs.txt | Out-String -stream | Select-String \"WINWORD\"[/code:1]
Je ne garantis pas que ça marche car je n'ai pas pu tester mais je pense que c'est une meilleure direction pour arriver à tes fins.
Tiens nous au courant de la suite...
@++
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Kévin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 11 mois #306
par Kévin
Réponse de Kévin sur le sujet Re:Rediriger la sortie d'un exécutable
Ca serait quand même dommage qu'on soit obligé de passer par un fichier pour faire ce genre de choses :/
Je vais chercher encore avant de me rabattre sur cette solution. Je posterai ici si je trouve quelque chose
Edit : cvs.exe > temp.txt
Le fichier temp.txt est vide et les message s'affichent normalement, y comprit dans la console classique (cmd). Donc il semblerait que ce soit un problème propre à l'exécutable
Edit2 : cvs.exe 2> temp.txt permet de retourner le contenu dans le fichier. Je vais essayer de trouver un équivalent avec |, mais vu que je ne sais pas à quoi correspond exactement le 2> ça ne va pas être facile <br><br>Message édité par: KooKiz, à: 4/05/07 15:08
Je vais chercher encore avant de me rabattre sur cette solution. Je posterai ici si je trouve quelque chose
Edit : cvs.exe > temp.txt
Le fichier temp.txt est vide et les message s'affichent normalement, y comprit dans la console classique (cmd). Donc il semblerait que ce soit un problème propre à l'exécutable
Edit2 : cvs.exe 2> temp.txt permet de retourner le contenu dans le fichier. Je vais essayer de trouver un équivalent avec |, mais vu que je ne sais pas à quoi correspond exactement le 2> ça ne va pas être facile <br><br>Message édité par: KooKiz, à: 4/05/07 15:08
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 16 ans 11 mois #311
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Rediriger la sortie d'un exécutable
Salut Kookiz,
De mémoire il me semble que 2>toto.txt redirige les erreurs.
Arnaud
De mémoire il me semble que 2>toto.txt redirige les erreurs.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.071 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Rediriger la sortie d'un exécutable