Page 1 sur 1

Récupérer sortie d'une commande plink dans une variable

Posté : mer. 06 avr. 2016 11:42
par gobinieres
Bonjour

j'ai une commande linux qui me renvoie une liste de nom de partage. Je lance cette commande avec plink. J'ai bien la fenêtre plink qui s'ouvre et j'y vois mes noms de partages (un par ligne). Par contre, je n'arrive pas à récupérer cette liste dans une variable ; l'affichage est toujours vide. Je souhaite ensuite l'exploiter dans une comboBox.
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <ComboConstants.au3>
#include <MsgBoxConstants.au3>
#include <Constants.au3>

$listepartage = ShellExecuteWait("plink.exe", "-ssh -t root@serveur -pw pass cat /etc/samba/smb.conf | grep debutpartage | awk -F '_' '{ print $2 }'", $STDIN_CHILD + $STDOUT_CHILD )

local $liste
$liste = StdoutRead($listepartage)
MsgBox (0,"tre", StdoutRead($listepartage))
Merci de votre aide

Mickael

Re: Récupérer sortie d'une commande plink dans une variable

Posté : mer. 06 avr. 2016 13:26
par walkson
Bonjour,
A tout hasard,(connais pas plink)

Code : Tout sélectionner

#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
     	
	    Local $iPID = Run("plink.exe -ssh -t root@serveur -pw pass cat /etc/samba/smb.conf | grep debutpartage | awk -F '_' '{ print $2 }'", @WorkingDir, @SW_HIDE,  $STDOUT_CHILD)
    Local $sOutput = ""
    While 1
        $sOutput &= StdoutRead($iPID)
        If @error Then ; Exit the loop if the process closes or StdoutRead returns an error.
            ExitLoop
        EndIf
    WEnd
	MsgBox($MB_SYSTEMMODAL, "Stdout Read:", $sOutput)
Il faudrait aussi mettre le chemin de Plink.exe s'il n'est pas dans system32
Peut être modifier @WorkingDir (peut être par "")

Re: Récupérer sortie d'une commande plink dans une variable

Posté : mer. 06 avr. 2016 14:47
par gobinieres
Merci de votre aide.

je testerai cela demain. Pour plink, je l’inclus dans mon script avec fileinstall @tempdir

Cordialement

Mickael