我想在AutoIt中将文本写入console / Windows命令提示符。我制作了一个测试脚本,如下所示:
Func Test()
ConsoleWrite("Hello")
EndFunc
Test()
我将脚本保存为test.au3
。当我运行它时,它不会打印到控制台。我查了ConsoleWrite()
;如果脚本被编译为控制台应用程序,它应该打印到DOS控制台。
我使用Aut2Exe编译了脚本。它仍然无法打印到控制台。如何在AutoIt中写入控制台?
答案 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
文件,然后:
或按 Ctrl + F7 (工具>编译),启用Create CUI instead of GUI EXE.
,然后点击Compile Script
并运行结果可执行文件。
#AutoIt3Wrapper_Change2CUI=Y
(or #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