• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:wshで起動したコマンドををタイムアウト終了させる)

wshでコマンドをタイムアウト終了させる方法

このQ&Aのポイント
  • 質問者は、ftpコマンドを実行した後に、ダウンロードしたファイルを処理したいが、ftp.exeが稀に終了しないことがあるため、タイムアウトさせたいと考えている。
  • 試しにWScript.timeout=10を設定してみたが、タイムアウトが有効にならなかった。
  • 質問者は、起動したバッチファイルが一定時間応答がなければ次の処理に移りたいと考えている。どのようなタイムアウトの実装方法があるかアドバイスを求めている。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.1

スクリプト処理で時間がかかっている訳じゃないので、WSCript.timeoutでは駄目ですね。 こんな感じで。テストはしてません。この処理と無関係にftp.exeが動いてればそれも止めちゃいますけど、それで良ければ。 test.batの内容: rem 監視スクリプトを非同期で起動 start kanshi.bat rem ftpの起動 ftp -s:c:\cmd.txt rem 次の処理 kanshi.batの内容: rem 10秒待つ ping -n 11 localhost rem ftp.exeがあれば強制終了 taskkill /F /IM ftp.exe そもそも何故ftpが終了しないのか調べるのが先だと思いますけど。大きなファイルを転送して時間がかかっている訳じゃないのですよね?

ken090301
質問者

お礼

ありがとうございます ftp.exeはなぜ終了しないのかはわかりません 転送しているのは数メガのファイルなので 5分ぐらいで終了するはずなのですが この前は2日ぐらいずっとftp.exeが動いていました プログラムから起動してたので コマンドラインにどのようなメッセージが 流れていたのか確認できなかったんです 受信途中でなんらかのエラーが起きて 対話モードでyes/noを聞いてくるようなプロンプトが でてたとか・・・ そんなのftpコマンドでありましたっけ? もしネットワーク的なトラブルで 何かキーを押さないと次の処理に進まないような ftpコマンドがあるなら それを出さないようにする方法があるのでしょうか?

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.2

#1です。ftpサブコマンドで、応答を聞いてくるのは、prompt onモードの時の mget/mput/mdelete の時だけです。 どのコマンドの処理中に止まっているのかはログを見ればわかると思いますけど。

ken090301
質問者

お礼

ありがとうございました

関連するQ&A