[R] écrire dans un cmd

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
pumilio
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 03 déc. 2012 16:59
Status : Hors ligne

[R] écrire dans un cmd

#1

Message par pumilio »

Bonjour à tous,

Je cherche à créer un script qui fonctionne en ligne de commande.
J'aimerais obtenir le même fonctionnement que les applications standards qui s'exécutent en ligne de commande.
Notamment lorsqu'on utilise l'aide avec la balise /?

Dans mon cas cela fonctionne sauf que lorsque je demande l'aide via /? l'invite de commande affiche en premier un "C:\>" que je ne souhaite pas afficher.

Voici le code très simplifié qui montre le fonctionnement du script :

Code : Tout sélectionner

#include <WinAPI.au3>

If $CmdLine[0] > 0 Then
	If $CmdLine[1] = "/save" Then
		Run("C:\MonProgram.exe")
	ElseIf $CmdLine[1] = "/?" Then
		_WinAPI_AttachConsole()
		$hConsole = _WinAPI_GetStdHandle(1)
		_WinAPI_WriteConsole($hConsole, "Ligne d'aide 1")
		 Send("{ENTER}")
	EndIf
EndIf
Sauriez-vous s'il est possible d'obtenir un affichage sans cette balise de départ "C:\>" lorsque je souhaite afficher l'aide avec "/?"

Merci pour votre aide,
Modifié en dernier par pumilio le mar. 08 févr. 2022 09:52, modifié 1 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] écrire dans un cmd  

#2

Message par TommyDDR »

Je n'ai jamais utilisé WinAPI pour écrire dans la console, mais vous pouvez faire ça :
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <WinAPI.au3>

If $CmdLine[0] > 0 Then
   If $CmdLine[1] = "/save" Then
      Run("C:\MonProgram.exe")
   ElseIf $CmdLine[1] = "/?" Then
      ConsoleWrite("Ligne d'aide 1" & @CRLF)
   EndIf
EndIf
#AutoIt3Wrapper_Change2CUI=y est très important.

Il faudra ensuite "compiler avec option"
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
pumilio
Niveau 3
Niveau 3
Messages : 32
Enregistré le : lun. 03 déc. 2012 16:59
Status : Hors ligne

Re: [..] écrire dans un cmd

#3

Message par pumilio »

Effectivement votre méthode est plus adaptée et correspond exactement à mes attentes.

Merci beaucoup pour votre aide.
Répondre