2016-08-18 9 views
0

私はpdfにハイパーリンクを作成しましたが、このハイパーリンクはこの手順がすべてOKになるまで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

答えて

1

おそらく作業ディレクトリ:

これはスクリプトです。

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

p.sを試してみてください:あなたは間違ってそれをやっています。 "sendkeys"は、telnetターミナルが既に実行されているときに何とか理解できますが、手動で標準コマンドプロンプトにキーを送信する必要はありません。

+0

私はあなたの提案に従おうとしましたが、問題は存在しています。 "Sendkeys"に関しては、私はこれを新しく使いました。これは正しい形式または方法です。 – Frnndo

0

Telnetは私のWindows 10および8ではありませんが、とにかく、あなたが持っている場合は、「Telnetの」コマンドは、あなたが行うことができませんでした:仕事とスペースを節約する必要があり

WshShell.run "cmd.exe /k telnet" 

+0

ありがとうございますが、動作しません。最初から、すべての試みで、CMDは常に以下のメッセージを表示します。 '\\ 10.1.2.112 \ NetworksとServicesのCMD.EXEは、パス上の を現在のディレクトリとして起動しました。 UNCパスはサポートされていません。 Windowsディレクトリにデフォルト設定します。 'telnet'は 内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。 – Frnndo

関連する問題