3

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

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

在那之后,什么也没有发生。我不知道您是否需要知道这一点,但这是一个视频游戏服务器,并且带有“保存/退出”命令。

4

1 回答 1

6

哎呀,使用类型进行多行输入!

echo save | TerrariaServer.exe

将打开 TerrariaServer.exe 并将“保存”作为输入发送给它。

echo exit | TerrariaServer.exe

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

看到问题了吗?:P

您正在执行 TerrariaServer.exe两次

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

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

现在让我们在 TerrariaServer.exe 中输入它...

type somefile.txt | TerrariaServer.exe

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

del somefile.txt

希望把事情弄清楚!:)

于 2012-12-12T04:34:26.153 回答