- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:telnetで接続先の操作方法について)
telnetで接続先の操作方法について
このQ&Aのポイント
- telnetで接続先の操作方法について
- visualC++でプログラムを作成し、バッチファイルを呼び出す方法を説明します
- telnetで接続して(1)は成功するが、(2)と(3)が実行されない問題についてアドバイスを求めています
- みんなの回答 (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()でそのマクロを実行する。 とかですかね。 たぶんこっちの方が簡単でしょう。
お礼
回答ありがとうございます。 telnetコマンドが終了するまで次の命令に移らないんですね。 勉強になりました。 アドバイスしてくださったのを試してみます。ありがとうございました