Pour tester, entrez chacune des commandes suivantes dans la fenêtre
Exécuter (raccourci : WIN+R).
Cette commande retourne :
'C:\Program' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Mais les commandes ci-dessous fonctionnent :
Code : Tout sélectionner
cmd /k "C:\Program Files (x86)\AutoIt3\Au3Info.exe" 'test'
cmd /k ""C:\Program Files (x86)\AutoIt3\Au3Info.exe" "test""
cmd /k "C:\Program Files (x86)\AutoIt3\Au3Info.exe" -test
franco a écrit : ↑mer. 21 juin 2017 17:48
Surtout que, dans l'aide de run, il est bien stipulé de mettre /c.
Oui mais lorsqu'il s'agit d'une commande externe je ne suis pas sûr que ce soit indispensable.
En revanche, pour exécuter la commande interne
DIR
, je dois spécifier quel interpréteur de commandes je souhaite utiliser.
Code : Tout sélectionner
#include <AutoItConstants.au3>
$iPID = Run(@ComSpec & ' /C DIR', @ScriptDir, @SW_HIDE, $STDOUT_CHILD) ; cmd.exe
ProcessWaitClose($iPID)
$sOutput = StdoutRead($iPID)
MsgBox(0, "@ComSpec (cmd.exe)", $sOutput)
$iPID = Run('PowerShell -Command "DIR"', @ScriptDir, @SW_HIDE, $STDOUT_CHILD) ; powershell.exe
ProcessWaitClose($iPID)
$sOutput = StdoutRead($iPID)
MsgBox(0, "PowerShell", $sOutput)
On remarque d'ailleurs que le résultat est différent avec l'interpréteur PowerShell.
http://autoitscript.fr/forum/viewtopic. ... 268#p96268
https://windows.developpez.com/faq/batc ... de_externe