Commande Run ou ShellExecute avec des pipes
Posté : sam. 21 mars 2020 13:29
Bonjour à tous
j'utilise Autoit que j'adore depuis plusieurs années, et j'ai toujours eu quelques soucis avec les commandes Run ou ShellExecute
je voulais profiter de cette période de confinement pour approfondir cela
En gros, j'ai de nombreux fichiers de scripts au format BAT qui fonctionnent très bien et je voudrais construire l'équivalent avec AutoIT
j'ai réussi à le faire du moment que les commandes MS/DOS sont simples!
mais dès qu'il y a des pipes ou des boucles de type 'For %%A in ... ', ça se complique
le premier problème que je rencontre est surtout au niveau compréhension de quelle commande Autoit utiliser !
Plutot Run ou plutot ShellExecute ?
;Quand on en mode Batch, en boite DOS
;Ci dessous la Commande qui fonctionne correctement dans un batch
; et qui me permet de récupérer le Modèle d'ordinateur dans mon batch
;------------------------------------
;For /f "tokens=2 delims==" %%i in ('wmic csproduct get name /value') do Set Result=%%i
;------------------------------------
;Quand on est en mode AutoIT
;La fonction ci dessous fonctionne correctement
;Run("cmd /c for /f %A in ('dir /b ^| sort') do echo %A")
;Run("cmd /c for /f %A in ('wmic csproduct get name /value') do echo %A &pause")
;La commande ci dessous ne MemGetStatsrche pas !!!!
Run("cmd /c 'For /f "tokens=2 delims==" %%i in ('wmic csproduct get name /value') do Set Result=%%i'")
;en fait je voudrais pouvpoir lancer cette commande depuis autoit et que la valeur soit retournée dans une variable !!
merci de votre aide !
j'utilise Autoit que j'adore depuis plusieurs années, et j'ai toujours eu quelques soucis avec les commandes Run ou ShellExecute
je voulais profiter de cette période de confinement pour approfondir cela
En gros, j'ai de nombreux fichiers de scripts au format BAT qui fonctionnent très bien et je voudrais construire l'équivalent avec AutoIT
j'ai réussi à le faire du moment que les commandes MS/DOS sont simples!
mais dès qu'il y a des pipes ou des boucles de type 'For %%A in ... ', ça se complique
le premier problème que je rencontre est surtout au niveau compréhension de quelle commande Autoit utiliser !
Plutot Run ou plutot ShellExecute ?
;Quand on en mode Batch, en boite DOS
;Ci dessous la Commande qui fonctionne correctement dans un batch
; et qui me permet de récupérer le Modèle d'ordinateur dans mon batch
;------------------------------------
;For /f "tokens=2 delims==" %%i in ('wmic csproduct get name /value') do Set Result=%%i
;------------------------------------
;Quand on est en mode AutoIT
;La fonction ci dessous fonctionne correctement
;Run("cmd /c for /f %A in ('dir /b ^| sort') do echo %A")
;Run("cmd /c for /f %A in ('wmic csproduct get name /value') do echo %A &pause")
;La commande ci dessous ne MemGetStatsrche pas !!!!
Run("cmd /c 'For /f "tokens=2 delims==" %%i in ('wmic csproduct get name /value') do Set Result=%%i'")
;en fait je voudrais pouvpoir lancer cette commande depuis autoit et que la valeur soit retournée dans une variable !!
merci de votre aide !