2

我需要创建一个 BAT 文件来通过 telnet 运行应用程序,但据我所知,在 DOS 上没有办法做到这一点。Telnet 不允许在连接的那一刻向远程机器发送任何命令,BAT 文件中的每个后续命令只有在 telnet 停止后才会执行。这段假设的代码说明了我想要做什么:

telnet 100.99.98.1 "C:\Application\app.exe -a -b -c"

这将使用三个参数在机器 100.99.98.1 上运行 app.exe。尽管我努力,但没有任何效果。有没有办法做到这一点?

谢邀,

佩德林·巴蒂斯塔

4

7 回答 7

6

你有没有尝试过:

echo "c:\application\app.exe -a -b -c" | telnet 100.99.98.1

但是,如果远程 telnet 服务器需要用户名和密码,这将不起作用。

于 2008-11-12T12:09:14.210 回答
3

由于您的路径,我假设您在 Windows 平台上工作。我建议查看 Microsoft/SysInternals 的PsExec,它允许您在远程机器上执行命令。

PsExec是Mark Russinovich提供的出色的免费PsTools软件包的一部分。SysInternals 最近被 Microsoft 收购,但这些工具仍然免费。

但是,这不适用于 Internet。它使用 Windows 网络端口 445,并且只能在本地网络上使用。如果您需要,我建议使用 SSH。

于 2008-11-12T12:10:16.283 回答
2

以您想要的方式使用 telnet 是不可能的。

您可以保护 shell (ssh),但 ssh 服务器必须在远程机器上运行(在您的情况下为 100.99.98.1)。

编辑:

有关Windows 的 ssh 客户端和服务器(基于 cygwin),请参见http://sshwindows.sourceforge.net/ 。

于 2008-11-12T12:07:30.923 回答
2

您是否尝试过以下操作?

telnet 100.99.98.1 <someScript

someScipt 有你的命令,例如,C:\Application\app.exe -a -b -c

你看过Windows的Remote Shell 守护进程吗?这可能比 telnet 好很多。

于 2008-11-12T12:10:52.883 回答
1

试一试_ _

从网页:

Expect 是一个用于自动化交互式应用程序的工具,例如 telnet、ftp、passwd、fsck、rlogin、tip 等。Expect 确实让这些东西变得微不足道。Expect 也可用于测试这些相同的应用程序。

于 2008-11-12T12:11:19.013 回答
0

您的 telnet 应用程序是否需要在命令窗口中运行,或者您只需要从命令行启动它?如果您想“启动并忘记”,您可以考虑使用可编写脚本的终端程序,例如免费的 TeraTerm。您可以使用命令从命令行启动它,start并让它在后台执行脚本。

于 2008-11-12T12:08:12.763 回答
0

您可能会考虑使用Cygwin(它提供了在 Windows 上运行的类似 Linux/Unix 的命令行环境)。包括 shell 脚本在内的各种标准工具可作为 Cygwin 的一部分使用。

于 2008-11-12T12:34:47.577 回答