アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

Windows Scripting Host(WSH)でtelnetコマンドのオートパイロット(自動操縦)をしたいと思っています。
そこで、ログインプロンプトなどを待つ際、waitで時間で待つのではなく、「login:」という文字を待ってログインするようにしたいのですが、できるでしょうか?教えてください。

WSHをご存知ない場合は、VBの範囲でお答えいただければと思います。適用できる可能性がありますので。
なお、言語は、JScript,VBScriptどちらでも構いません。

よろしくお願い致します。

A 回答 (5件)

telnet コマンドは、実装が二つありますよね。

95 にあった、Window アプリケーションのと
NT のコマンドプロンプトで動くやつ。

Window アプリケーションだと、キーを送り込むのは簡単だが、表示を取るのは、まず、不可能ですよね。

コンソールアプリケーションであれば、どうやってコンソールバッファのハンドルを取得するか
が、難しそう。

rsh もどきが作りたいのであれば、socket を扱うプログラムを作る方が、何百倍も簡単です。

# この回答が、期待に添わないであろう、という意味で自信無しにしておきます
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
2つ種類あるのですか?すみません。コンソールの方です。

プロセスを指定したら、そこに入ってくるメッセージは簡単に取得できるのかなと思ったのですが、簡単に取れるわけではないのですね。
ハンドルを取得する必要があると。
ありがとうございます。

ここはsocketプログラミングを勉強して組んだ方がよさそうですね。
その方が一般的に使えますし。
どうもありがとうございます!

目的が、「オートパイロットしたい」というより「作りたい」なので、回答は期待に添っています。socketを扱うより、telnetコマンドを操作した方が手っ取り早いかなと思ったのです。
どうもありがとうございます。

お礼日時:2002/11/18 20:05

BASP21のソケットオブジェクトを利用すればWSHでも出来ますよ。



下記URLのfaq:「ソケットオブジェクトでtelnetしたい」を参照してください

参考URL:http://www.hi-ho.ne.jp/babaq/basp21.html
    • good
    • 0
この回答へのお礼

できるだけ、外部プログラムは使いたくないのですが、これは結構役に立ちそうですね。
ありがとうございます!

お礼日時:2002/11/29 22:51

telnetのオートパイロットならTeratermの方が簡単に組めると思いますが。


なぜWSHで?

秀Termもマクロは強力ですが、有料ですしね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

No.3でご回答させていただいた通りです。
よろしくお願い致します。

お礼日時:2002/11/18 20:21

既存のTelnetクライアントソフトを使うのは?


Tera Termとか
秀Termとか
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

Windows標準ソフト以外に依存せずに、
下記にもあります通り、
汎用的なrshコマンド(UNIX等に接続して、UNIXのコマンドをWindowsのコマンドプロンプト等から実行)のようなものが作りたいのです。

原稿できているものは、こんな感じです。
※現段階ではホスト名・コマンドなどは決め打ちです。

何か情報があればよろしくお願い致します。
今のところ,socketでないとできなそうですが、
WSHなら、OSの機能が呼べて何とかなるかもしれないので・・・。
よろしくお願いします。
--
var WShell = WScript.CreateObject("WScript.Shell");
WShell.Run("telnet hostname", false, false);
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("user{ENTER}");//キーを送る
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("pass{ENTER}");//キーを送る
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("make{ENTER}");//キーを送る
WScript.Sleep(1000);//5秒待って
WShell.Sendkeys("exit{ENTER}");//キーを送る

お礼日時:2002/11/18 20:13

socket (もしくは、WinSock) と言われて、分かりますか?


分からないようであれば、かなり難しいですね。

もし、分かっても、telnet ポートを使って制御するのは、結構難しいです。画面の制御コードの
処理とかが入るので(login: を待つくらいなら、そんなに難しくない)。

VB が分かる程度であれば、Windows の種類を選ぶかもしれませんが、rsh というコマンドを
実行するようなイメージにする方が良いのでは?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
一応、socketはわかりますが、やりたいことは、指定ウィンドウ(ここではtelnetコマンドのウィンドウ)への文字の入出力なので、socketを意識する必要は内容に思うのですがいかがでしょうか?でも、受け取るにはsocketレベルor telnetプロトコルレベルの制御が必要なのでしょうか?

イメージとしては、まさにrshコマンドもどきを作りたいのです。
(実際は、telnetコマンドのオートパイロットですが。)

よろしくお願い致します。

お礼日時:2002/11/15 17:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています