打印到控制台/命令提示符

时间:2016-01-13 08:07:04

标签: windows command-prompt autoit

我想在AutoIt中将文本写入console / Windows命令提示符。我制作了一个测试脚本,如下所示:

Func Test()
   ConsoleWrite("Hello")
EndFunc

Test()

我将脚本保存为test.au3。当我运行它时,它不会打印到控制台。我查了ConsoleWrite();如果脚本被编译为控制台应用程序,它应该打印到DOS控制台。

我使用Aut2Exe编译了脚本。它仍然无法打印到控制台。如何在AutoIt中写入控制台?

3 个答案:

答案 0 :(得分:5)

您还可以将以下编译器开关添加到脚本的顶部:

#pragma compile(Console, True) 

答案 1 :(得分:4)

只需编译你的test.au3:

%PathToAutoItVersion%\Aut2Exe\Aut2exe.exe /in test.au3 /out test.exe /console

然后你可以运行test.exe并打印出来:

hello

答案 2 :(得分:1)

  

如何在AutoIt中写入控制台?

根据Documentation - Function Reference - ConsoleWrite()

  

此功能的目的是写入STDOUT流。 ...编译为控制台应用程序的脚本也有一个STDOUT流。

将脚本保存为.au3文件,然后:

  • 在编辑器中按 F5 (工具> Go)。控制台输出将显示在编辑器的下方窗格中:

    enter image description here

  • 或按 Ctrl + F7 (工具>编译),启用Create CUI instead of GUI EXE.,然后点击Compile Script并运行结果可执行文件。

  • 或添加#AutoIt3Wrapper_Change2CUI=Yor #pragma compile(Console, True)to top of script,然后按 F7 (工具>构建)并运行生成的可执行文件。
  • 或执行:
    ...\AutoIt3\Aut2Exe\Aut2exe.exe /in ...\script.au3 /out ...\script.exe /console
    并运行生成的可执行文件。
  

我使用Aut2Exe编译了脚本。它仍然无法打印到控制台。

对于已编译的脚本,控制台窗口仅在运行时期间可见。例如:

#AutoIt3Wrapper_Change2CUI=Y

Global Enum  $EXITCODE_OK
Global Const $g_sMsg   = 'Hello, World!' & @CRLF
Global Const $g_iDelay = 1000 * 10

Main()

Func Main()

    ConsoleWrite($g_sMsg)
    Sleep($g_iDelay)

    Exit $EXITCODE_OK
EndFunc

相关:Console and graphical user interface