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