Page 1 sur 1

[..] [Autoit] vs [Batch]

Posté : mer. 10 sept. 2008 21:49
par karottes
Bonjour,
je suis tout nouveau en prog' autoit, et j'ai quelques notions, mais quelque chose me manque : comment appeler (shell) un fichier *.bat ou même exécuter directement une commande MS-DOS avec un script *.au3 ?
Merci d'avance pour vos réponses ...

Re: [Autoit] vs [Batch]

Posté : mer. 10 sept. 2008 22:04
par jbnh
Bienvenu sur le forum.

ShellExecute ou Run pour executer.

Code : Tout sélectionner

Run(@ComSpec & " /c dir foo.bar", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
où dir foo.bar est la commande envoyée dans le cmd

Re: [..] [Autoit] vs [Batch]

Posté : mer. 10 sept. 2008 23:05
par Tlem
Petite précision :
$STDERR_CHILD + $STDOUT_CHILD ne sont là que pour récupérer le résultat de la commande DIR, sinon on peut s'en passer et lancer la commande comme ceci :

Code : Tout sélectionner

Run(@ComSpec & " /c " & 'NomDeLaCommandeDos', "", @SW_HIDE)

Re: [..] [Autoit] vs [Batch]

Posté : lun. 15 sept. 2008 21:26
par terminatorn
Et si tu veut cacher la fenêtre pas estetique DU TOUT de cmd.exe :

Code : Tout sélectionner

#include <Constants.au3>
#NoTrayIcon
;rbar.au3 ==> rbat.exe
 ; exemple : C:\dev\bat\rbat.exe TOTO.BAT "Aa bb cc" 22222
$nba=$CmdLine[0]
if $nba>0 Then
   $batch=$CmdLine[1]
   $ar=""
   For $i=2 to $nba
      $ar=$ar & " """ & $CmdLine[$i] & """"
   Next
   ;msgbox(0,$batch,$ar)
   $rc = Run(@ComSpec & " /c " & $batch & " " & $ar, "", @SW_HIDE )
EndIf
exit