解決済み

自動でtelnet

  • すぐに回答を!
  • 質問No.9401862
  • 閲覧数359
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 92% (142/153)

お世話になります。
ボタンクリックすると自動でTelnetを起動しコマンドを投げてtelnetを終了する...処理を作っています。
telnet接続からの操作はvbsで作成、
そのvbsをbatfileで起動するようにしました。
古いパソコン環境で動かす(32bit)というので、あえてvc++6.0で作成し正常に、動きました。
それを64bitのWindows2012で動かしたら、vbsの中のtelnetの接続のところでエラーになります。
 'telnet'は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチファイルとして認識されていません
と、なります。
telnet clientはinstallしてあり、
コマンドプロンプトでbatファイルをたたくとちゃんと正常に動きます。
batファイルをダブルクリックでも動きます。
コマンドプロンプトでcscript xxx.vbs  としても正しく動きます。

プログラムから CreateProcessで、「cmd xxx.bat」としているのですが。。。

どこが間違ってるのか、何がダメなのか判断が付かないのです。
至急アドバイスをいただけないでしょうか。
よろしくお願いいたします。

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

  • 回答No.1

ベストアンサー率 62% (408/656)

32bitのコマンドプロンプトでは、Windows\System32にアクセスしても実際にはWindows\SysWOW64にリダイレクトされます。そのため、telnet.exeがみつからない状況になります。
32bitプログラムからWindows\System32にアクセスする場合は、Windows\Sysnativeを指定しなければなりません。

バッチファイルの最初に

PATH=%PATH%;%WINDIR%\Sysnative

としてパスを追加してみたらどうでしょうか。
お礼コメント
jg1wjz

お礼率 92% (142/153)

m-take0220 さま
ありがとうございます!

なるほど~、手動だとWindows\System32のコマンドプロンプトのが起動して動くが、32bitプログラムからだとリダイレクトされて、見つからないってことなんですね。早速試してみます!
投稿日時 - 2017-11-27 23:22:46
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ