0

我正在尝试使用 vbs 进行自动化,我想知道是否可以使用文件选择器(或其中几个)构建一些简单的 gui?谷歌搜索在这里没有帮助我。

我需要这个不要硬编码脚本的一些输入参数。

最初的问题是 ssh 命令自动化。我现在为此使用 XShell(ssh 客户端)vbs 脚本,但是每次使用它时我都必须对参数进行硬编码。如果我可以只输入 ip/choose 文件,而不是编辑脚本,那就更好了。
也许值得考虑任何其他自动化方式,如果有人可以建议任何工具来自动将 ssh 命令发送到远程服务器,那就太好了!

谢谢大家!

4

3 回答 3

4

对于了解 HTML 的人来说,编写由 VBScript(或任何其他 ActiveScript 语言:Perl、Python、Ruby、JScript 等)控制的 GUI 是非常可行的。该技术称为HTML 应用程序 (HTA),甚至还有一个向导/设计器(质量一般)。

虽然命令行 VBScript 由 C/WScript.exe 托管,但 HTA 是基于浏览器(即 IE)的。如果您可以通过脱壳或 COM 对象来完成 SSH 工作,这不是问题。但是 Mr.Nothing 的 SSH 客户端似乎是一个控制台风格的应用程序,它在内部托管/使用 VBScript 代码;在这种情况下,HTA 是没有选择的。OTOH:如果 - 正如“我不需要它来硬编码脚本的某些输入参数”似乎表明 - 真正的工作是通过启动 VBScript 脚本完成的,那么在 HTA GUI 中为此类脚本选择/构造参数应该很容易(对于精通 HTML 的人)。

于 2013-01-11T14:25:52.067 回答
2

用 VBScript 编写 GUI 并不可行。毫无疑问,这是可能的,但没有任何工具包可以让它变得简单。这不是 VBScript 的设计目的。

我想到了许多选择:

  • 用另一种语言编写您的 GUI,无论您喜欢什么。然后将命令作为命令行参数发送到您的 VBscript 代码。这对您来说是最简单的选择。您需要做的就是编写 GUI,并用一些从命令行提取值的代码替换 VBscript 代码中的硬编码值。
  • 用支持 COM 自动化的不同语言对 Xshell 进行 COM 自动化。大多数语言都有。并在那里编写 GUI。例如,Python 是我的选择。
  • 将 GUI 和您的 ssh 代码批发切换为不同的语言。同样,许多语言都具有良好的 ssh 模块。
于 2013-01-11T14:01:03.497 回答
1

创建 VBScript UI 所涉及的大多数问题是缺少事件驱动的编程模型。通过使用 Javascript 和 Internet Explorer 事件,我已经解决了这个问题。

如下声明 Internet Explorer 对象以启用事件。

Set oIE = WScript.CreateObject("InternetExplorer.Application", "oIE_")

像下面这样声明退出事件。在这种情况下退出脚本。

Sub oIE_onQuit 

像下面这样声明 TitleChange 事件。在这种情况下,您将处理所有 UI 功能。

Sub oIE_TitleChange(text)

在 html 中,您要触发偶数的按钮必须具有 javascript 才能更改标题。

document.title = document.title;

这是完整源代码的链接。

于 2013-04-29T14:33:05.460 回答