【问题标题】:How to create a program to execute shell command in Windows?如何创建一个程序来在 Windows 中执行 shell 命令?
【发布时间】:2015-10-24 00:11:37
【问题描述】:

我正在尝试在 LiveCode 中执行 shell 命令或批处理文件,但是,由于未知原因,它无法正常工作。我想使用另一个中间程序来执行将输出记录到文本文件的批处理文件,然后使用 LiveCode 作为解决方法读取该输出。创建可以处理批处理文件的可执行文件的简单方法是什么?

除了

之外,真的没有任何相关的代码可以分享
put "test.bat" into tCommand

put shell (tCommand)  into fld "output"

【问题讨论】:

  • 不明白为什么需要可执行文件来运行批处理文件。
  • @Mecek 这绝对不是 C# 问题的重复。请阅读问题。没有提到 C#。
  • @bbglazer 如果您想得到答案,您需要在问题中包含脚本的相关部分。请编辑并添加代码。
  • 本题没有相关代码。我不知道构建一个可以运行我创建的批处理文件的小型 .EXE 的最简单方法。然后我会从 livecode 调用那个 .EXE。
  • 您已经有一个可以运行批处理文件的 EXE。它是cmd.exe。让 LiveCode 运行 cmd.exe /C thescript.bat

标签: file batch-file execute livecode


【解决方案1】:

以下脚本适用于 LiveCode 6.7.6:

set the hideConsoleWindows to true
put shell("C:\test.bat")

我的 bat 文件包含

@echo off
echo 'test'
pause

而shell()返回的值为

'test'
Press any key to continue . . . 

返回值的最后一个字符是换行符。

也许你应该尝试重现这个简单的测试。

【讨论】:

  • 感谢您的建议。如果我放这样的东西,或者像“dir”或“ping”这样的常用命令,它就可以正常工作。对于我尝试运行的特定程序,如果从 LiveCode 调用它不会输出任何内容。如果我从 cmd 终端调用批处理文件,它确实有效。这就是为什么我想知道是否可以创建一个中间程序(除了 cmd.exe)来运行 .bat 文件并将输出返回给 LiveCode。
  • 您是否尝试重现与我的回复中描述的完全相同的情况?这根本不起作用吗?请注意,您需要重现完全相同的内容。不要使用不同的批处理文件或不同的 shell 命令。
  • 是的,我按照你刚才的要求做了。我的消息框中的输出是: 'test' Press any key to continue 。 . .
  • 这意味着它可以工作。现在将 test.bat 中的语法替换为您自己的批处理文件 thescript.bat 中的语法。不要更改文件名和文件位置。这行得通吗?如果没有,请在原始问题中发布批处理文件的语法。
猜你喜欢
  • 2013-11-04
  • 2012-07-02
  • 2018-09-19
  • 2019-01-16
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多