[..] [Autoit] vs [Batch]

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
karottes
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 10 sept. 2008 21:43
Status : Hors ligne

[..] [Autoit] vs [Batch]

#1

Message 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 ...
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [Autoit] vs [Batch]

#2

Message 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
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#3

Message 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)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
terminatorn
Status : Hors ligne

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

#4

Message 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
 
Répondre