【问题标题】:Print to console/command prompt打印到控制台/命令提示符
【发布时间】:2016-04-18 02:40:11
【问题描述】:

我想在 AutoIt 中将文本写入控制台/Windows 命令提示符。我做了一个测试脚本如下图:

Func Test()
   ConsoleWrite("Hello")
EndFunc

Test()

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

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

【问题讨论】:

  • 你在使用 SciTE4AutoIt3 吗?
  • Matt 是正确的,当您在 SciTE 中运行脚本时,您将在下面看到控制台输出。

标签: windows command-prompt autoit


【解决方案1】:

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

#pragma compile(Console, True) 

【讨论】:

    【解决方案2】:

    只需像这样编译你的 test.au3:

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

    然后你可以运行test.exe,它会打印出来:

    hello
    

    【讨论】:

      【解决方案3】:

      如何在 AutoIt 中写入控制台?

      根据Documentation - Function Reference - ConsoleWrite()

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

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

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

      • 或按 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
      

      相关:Console and graphical user interface.

      【讨论】:

        猜你喜欢
        • 2019-06-08
        • 1970-01-01
        • 2014-02-22
        • 2013-09-11
        • 1970-01-01
        • 1970-01-01
        • 2014-02-21
        • 2021-09-12
        • 1970-01-01
        相关资源
        最近更新 更多