如何通过批处理命令将命令发送到通过命令行运行的EXE?

时间:2012-12-12 04:28:22

标签: batch-file command cmd pipe exe

我有一个名为TerrariaServer.exe的服务器应用程序运行,我希望能够使用单独的批处理文件发送命令。 TerrariaServer.exe是一个作为命令行运行的程序。我怎么能“喂”它一个命令,如“保存”和“退出”?答案可能是管道,但我不太确定。这是我在TerrariaServer.exe运行时在批处理文件中执行的...

@echo off
echo save | TerrariaServer.exe
echo exit | TerrariaServer.exe

之后,什么都没发生。我不知道你是否需要知道这个,但这是一个视频游戏服务器,随之而来的是“保存/退出”命令。

1 个答案:

答案 0 :(得分:5)

Eep,使用多行输入类型!

echo save | TerrariaServer.exe

将打开TerrariaServer.exe并发送“save”作为输入。

echo exit | TerrariaServer.exe

将打开TerrariaServer.exe并发送“exit”作为输入。

看到问题了吗? :P

您正在执行TerrariaServer.exe 两次

您应该使用命令 type 。您可以在可执行文件的输入中键入文本文档。首先,让我们创建这个文本文档(或任何文件;扩展名无关紧!)

echo save>somefile.txt
echo exit>somefile.txt

现在让我们将其输入TerrariaServer.exe ...

type somefile.txt | TerrariaServer.exe

也许在我们完成后删除somefile.txt?

del somefile.txt

希望能把事情搞清楚! :)