使用plink的VBA telnet(Putty的命令行)-将命令发送到plink.exe

我正在竭尽全力去做一些看起来很简单的事情,但是我只是机智。

我真的还没走远:

Sub Test1()

 Const TARGET_HOST = "192.168.0.2 -P 24" ' Some proprietary telnet port 
 Const PLINKPATH = "C:\program files\putty\plink.exe"

    Set sh = CreateObject("WScript.Shell")
    cmd = """C:\program files\putty\plink.exe"" -telnet " & TARGET_HOST


    sh.Run cmd & " | clip",1,True

End Sub

所以,我要做的是:

  1. 使用VBA作为TCP / IP客户端连接到某些计算机。
  2. 发送命令-说“帮助” + vbcrlf
  3. 将回复捕获到剪贴板或文件中,然后我都可以将其粘贴到工作表中
  4. 这部分确实让我感到困惑-使用.run和.exec,我似乎无法弄清楚如何发送“帮助” +回车符。我可以打开外壳程序窗口,但无法获取StdIn来向plink.exe发送命令。

在此先感谢您能帮助我的任何人。如果此方法不是将命令发送到plink.exe的正确方法,请建议可以使用哪些其他方法,而不必使用winsock方法,该方法很难维护。

giftedhappy 回答:使用plink的VBA telnet(Putty的命令行)-将命令发送到plink.exe

您可以使用简单的输入重定向。您实际上已经使用| clip重定向了输出。同样,也可以重定向输入,请执行以下操作:

"echo help | " & cmd & " | clip"

另请参阅How to execute remote command using PuTTY over Telnet

本文链接:https://www.f2er.com/3165287.html

大家都在问