Excel VBA telnet使用plink(Putty和#x27;的命令行)-将命令发送到plink.exe
我想:Excel VBA telnet使用plink(Putty和#x27;的命令行)-将命令发送到plink.exe,excel,vba,putty,plink,Excel,Vba,Putty,Plink,我想: 使用VBA作为TCP/IP客户端连接到某台计算机 发送命令-说“帮助”+vbcrlf 将回复捕获到剪贴板或文件中,然后我可以将它们粘贴到工作表中 这一部分真的让我很困惑-对于.run和.exec,我不知道如何发送“help”+回车。我可以打开shell窗口,但无法让StdIn向plink.exe发送命令 我没走多远: Sub Test1() Const TARGET_HOST = "192.168.0.2 -P 24" ' Some proprietary telnet por
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
如果此方法不是向plink.exe发送命令的正确方法,那么可以使用哪些其他方法而不必使用winsock方法,因为winsock方法很难继续前进 您可以使用简单的输入重定向。实际上,您已经使用
|clip
重定向了输出。同样,要重定向输入,请执行以下操作:
"echo help | " & cmd & " | clip"
另请参见。是否有可以发送到服务器以关闭会话的命令?像
exit
?我认为exit只有在使用cmd的telnet时才有效。不管怎么说,这只是我想做的一大堆其他事情的一个起点——我不能越过这一点真的很令人沮丧。我花了好几个小时研究这个问题——我看到了一个关于如何从cmd获取回复的好例子——比如ipconfig,但我似乎无法让它与plink一起工作。“我认为只有当您使用cmd的telnet时退出才有效”——你为什么这么认为?为什么exit
在代码中的行为会有所不同?+我不明白你其余的评论。到目前为止,您告诉我们的唯一问题是关闭隐藏的Plink实例的连接。您将如何发送exit命令?在上面的例子中,我得到的只是一个cmd窗口,显示我已成功连接到任何设备。我不知道如何(1)向该shell发送命令,(2)关闭窗口。如何发送“退出”?sh.Run“exit”不起作用-手动键入单词exit也不起作用,因为打开的shell窗口现在是与设备的连接。如果我转到shell窗口,键入exit-这只是返回一个错误,因为其他设备不支持命令exit。我应该澄清这不是到另一台PC的正常telnet连接-这是与任何支持tcp连接的产品的tcp客户端会话。我希望制作一个Excel表格,在那里我可以指定端口号以及在表格上发送什么命令。