从超链接打开VBS

问题描述:

我在pdf中创建了一个超链接,这个超链接绑定到vbs脚本,直到这一步都行。当我手动运行该脚本(双击)时,脚本会自动运行(打开telnet连接)。问题是当我通过超链接运行脚本时,CMD显示消息“”telnet“未被识别为内部或外部命令”。请,谁能告诉我为什么会发生?从超链接打开VBS

这是脚本:设置不正确

Dim WshShell, regexp 
    set regular = New RegExp 

    direccion = inputbox("Ingresa ip del equipo:") 

    ' Set pattern. 
    regular.Pattern = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" 
    ' Set case insensitivity. 
    regular.IgnoreCase = True 
    ' Set global applicability. 
    regular.Global = True 

    if regular.test(direccion) = TRUE then 
     set WshShell=CreateObject("WScript.Shell") 
     WshShell.run "cmd.exe" 
     WScript.Sleep 1000 
     'Send commands to the window as needed - IP and commands need to be customized 
     'Step 1 - Telnet to remote IP' 
     WshShell.SendKeys "telnet " & direccion 
     WshShell.SendKeys ("{Enter}") 
     WScript.Sleep 1000 
    else 
    msgbox "Ingresa una ip válida" 
    end if 
+0

当我手动运行脚本(双击)时,在任务管理器中出现“Windows命令处理器”,但当我通过任务管理器中的超链接(pdf文件)运行脚本时,出现了一些奇怪的事情“Windows命令处理器(32位)“,我认为这个问题可能与此有关,但我不知道如何解决它。任何想法?? – Frnndo

可能工作目录。

尝试

WshShell.SendKeys "c:\windows\system32\telnet.exe " & direccion 

P.S:你这样做是错误的。当telnet终端已经运行时,“sendkeys”可以理解,但没有理由手动将密钥发送到标准命令提示符。

+0

我试图按照你的建议,但问题仍然存在。关于“Sendkeys”,我是新的,这是我应该使用的正确形式或方法? – Frnndo

Telnet是不是在我的Windows 10和8。但无论如何,如果你有“远程登录”命令不能这样做:

WshShell.run "cmd.exe /k telnet" 

这应该工作,并节省了空间。

+0

谢谢,但不行。从一开始,在我的所有尝试中,CMD总是显示以下消息: '\\ 10.1.2.112 \ Networks and Services'CMD.EXE以 上面的路径作为当前目录启动。 UNC路径不受支持。 默认为Windows目录。 'telnet'不被识别为内部或外部命令,可操作程序或批处理文件。 – Frnndo