wshで起動したコマンドををタイムアウト終了させる
たとえば以下のようなバッチファイルとvbsファイルを用意して
test.batを実行した場合
ftpのダウンロード処理が完了した後
ダウンロードしたファイルを処理したいのです
以下のようにすれば処理待ちになるのでそこは
実現できるのですが
ftp.exeがなんらかの原因で稀に終了しない事があるので
そうなるといつまでも処理待ちになってしまうので
タイムアウトさせたいのです
ftpコマンドをあえてquitしないで(終了しない状態を再現させる)
WScript.timeout=10
をいれてみて試してみたのですが
タイムアウトが有効になりません
ftpのプロセスは最悪残ってしまってもかまわないのですが
起動をかけたバッチファイルのほうは永遠待ち状態ではなく
一定時間応答がなければ次の処理に移したいのです
何かいいタイムアウトの実装方法はないでしょうか?
アドバイスお願い致します
test.bat
cscript test.vbs ←ここでftp.exeが終了しないと永遠待ち状態になってしまう
rem ftpが完了後に行いたい処理
exit
test.vbs
WScript.timeout=10
CreateObject("WScript.Shell").Run "CMD.exe /C ftp -s:c:\cmd.txt", 1, True