2016-04-14 25 views
-1

に空の文字列出力した場合:テストコマンドは、私は次のVBScriptのコマンド持っているのVBScript

crt.Screen.Send "cat myfile.txt | grep 'L[0-9]*' " & vbcr 

を、私は、コマンドが何かを出力しているかどうかを知るための方法があるかどうかを知りたいが、私は何をする必要がありますそれはvbscriptで

+0

'crt'オブジェクトが何であるかわからないと、私たちはあなたを助けません。 'Set crt = CreateObject(" ... ")'は、crtが何であるかを定義しているコードか、Set Vtcriptクラスの場合は 'Set crt = new ...'を定義するべきです。 – Lankymart

答えて

1

あなたが掲示した限られた例から集めることができるから、あなたはスクリプトを使ってタスクの自動化をサポートするVanDyke Software's SecureCRT製品を使用しているかのように見えます。

ソフトウェアプロバイダのウェブサイトには、かなり詳細なScripting Essentials Guideがあります。スクリーンオブジェクトに関連付けられた以下の方法を用いることができるScripting Essentials: A Guide to Using VBScript in SecureCRT
から、それは、リモートマシンからデータをキャプチャする方法について詳細ガイドで

(ガイドの4.3を参照)

リモートマシンへの 接続を介してデータをキャプチャする:ReadString(),Get()、およびGet2()。 SecureCRTの ロギング機能を使用してリモートデバイスからデータを取得することもできますが、ロギングAPIは であり、以降の章(FileSystemObjectを使用したファイルへのデータの書き込み)で参照および説明しています。 SecureCRT端末の 画面で現在選択されているデータにアクセスする方法をお探しの場合は、前のセクション「選択したテキストへのアクセス」を参照してください。

また、どのようにReadString()作品を説明し、変数にコマンドの出力をキャプチャするためにそれを使用する方法の例を与えるthis article便利かもしれません。

このガイドでは、ReadString()を使用してCiscoデバイスからシリアル番号を取得する基本的な例を示します。

crt.Screen.Synchronous = True 
' Send a command to a Cisco device to get the serial number 
' of the device. 
crt.Screen.Send "sh tech-support | in ([sS]erial)" & vbcr 
' Wait for the CR to be echoed back to us so that what is 
' read from the remote is only the output of the command 
' we issued (rather than including the command issued along 
' with the output). 
crt.Screen.WaitForString vbcr 
' Capture the result into a script variable 
strResult = crt.Screen.ReadString("pixfirewall#") 
' strResult will contain something like: 
' Serial Number: 1850889413810201 (0x6935FC6075819) 
MsgBox strResult 

お客様の要件に合わせて変更できる必要があります。

の例では、コマンドが送信され、キャリッジリターン文字(Linux上の影響を与えるにキーを入力します)を返されると(コマンドを表すために実行している)ことを前提に動作しますそれは、出力をキャプチャするReadString()を使用していますターミナルウィンドウでプロンプトpixfirewall#が検出された場合にのみ表示されます。

関連する問題