解決済みの質問

質問No.6382978
すぐに回答を!
すぐに回答を!
お気に入り投稿に追加する (0人が追加しました)
回答数1
閲覧数558
telnetで接続先の操作方法について
こんにちは
今、visualC++でプログラムを作っています。
内容はsystem関数を使ってバッチファイルを呼び出すプログラムなのですが
int main(void){
system(tel.bat);

return 0;
}
バッチファイルの内容は

(1)telnet 192.168.○○○
(2)cd フォルダA
(3)test.exe

です。
作って実行してみると(1)の接続はできました。ですがその次の(2)、(3)は実行されませんでした。
どうしたらできるのでしょうか?できればtelnetで実行できるようにしたいです。
           
   操作側   接続先
OS:windows7、windowsCE

よろしくお願いいたします。
投稿日時 - 2010-12-13 23:23:06

質問者が選んだベストアンサー

回答No.1
>バッチファイルの内容は
>(1)telnet 192.168.○○○
>(2)cd フォルダA
>(3)test.exe
>です。
>作って実行してみると(1)の接続はできました。ですがその次の(2)、(3)は実行されませんでした。

telnetコマンドが終了するまで、バッチファイルは次の処理に進みません。
サーバ側から切断させればtelnetコマンドが終了しますので、次の行のcdコマンド、およびtest.exeが『クライアントのローカル環境で』実行されます。
そういうバッチファイルになっています。

希望する動作は、telnetで接続して、サーバ側でディレクトリ移動とtest.exeを実行したいのではないですか?
telnetコマンドの標準入力に流し込めば動くかと思われますが…
# ただし、試したコトはありません。

バッチファイルではなく、CreateProcess()でプロセス起動して、標準入出力のパイプで操作する。
という方法もあります。
「CreateProcess パイプ」辺りで検索すると見つかるでしょう。

http://www.fpcu.jp/dosvcmd/bbs/log/cat1/4-0451.html
こんなネタもあります。

他の方法としては…希望する処理を記述したTeraTermマクロを作成して、system()でそのマクロを実行する。
とかですかね。
たぶんこっちの方が簡単でしょう。
投稿日時 - 2010-12-14 00:07:58
この回答を支持する
(現在0人が支持しています)
お礼
回答ありがとうございます。
telnetコマンドが終了するまで次の命令に移らないんですね。
勉強になりました。
アドバイスしてくださったのを試してみます。ありがとうございました
投稿日時 - 2010-12-28 14:18:29
この質問は役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
もっと聞いてみる

関連するQ&A

  • question

    voidについていつもお世話になってます。 最近プログラミングの授業に全然ついていけなくて、1から勉強しようと...

  • question

    VisualC++ ファイル読み込み前回の質問が曖昧との意見もありもう1度きちんとした内容で質問したいと思います。現在Visual...

  • question

    telnetの自動シェルバッチを作成したいUNIXは不得意のため、とても困っています。 是非、アドバイスをお願いします。m(_S_;)m...

  • question

    javascript:void(0)。return■質問1 ・「<a href='javascript:void(0);'"」と、「a href...

  • question

    batファイルでのtelnetについてお世話になります。題名のとおりtelsetをbatファイルで自動実行したいのですが、こんなこと...

  • question

    voidポインタ教えて頂けますか? 環境は mac osx です。 とあるページのサンプルコード #inc...

この他の関連するQ&Aをキーワードで探す

関連するガイド記事

    回答募集中

    同じカテゴリの人気Q&Aランキング

    カテゴリ
    C・C++
    -PR-

    OKWaveのおすすめ情報

    特集

    このQ&Aの関連キーワード

    同じカテゴリの人気Q&Aランキング

    カテゴリ
    C・C++
    -PR-

    ピックアップ

    -PR-
    -PR-