たとえば以下のようなバッチファイルと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
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が終了しないのか調べるのが先だと思いますけど。大きなファイルを転送して時間がかかっている訳じゃないのですよね?
ありがとうございます
ftp.exeはなぜ終了しないのかはわかりません
転送しているのは数メガのファイルなので
5分ぐらいで終了するはずなのですが
この前は2日ぐらいずっとftp.exeが動いていました
プログラムから起動してたので
コマンドラインにどのようなメッセージが
流れていたのか確認できなかったんです
受信途中でなんらかのエラーが起きて
対話モードでyes/noを聞いてくるようなプロンプトが
でてたとか・・・
そんなのftpコマンドでありましたっけ?
もしネットワーク的なトラブルで
何かキーを押さないと次の処理に進まないような
ftpコマンドがあるなら
それを出さないようにする方法があるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) wordpress 管理画面にログインについて(ftpファイル抹消してしまう) 2 2023/02/06 19:45
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- 日本株 SBI証券HYPER SBI 2のエラー 1 2023/01/31 13:38
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- フリーソフト タスクソフト? 1 2023/01/14 07:52
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
VBAでループ内で使う変数名を可...
-
エクセルで、日付を入力すると...
-
switch の範囲指定
-
DoEventsがやはり分からない
-
Loadイベント中にほかのイベン...
-
【Excel】特定の文字を含むセル...
-
ボタンクリックイベント 重複...
-
UMLでの例外処理
-
FFTの結果ついて
-
findは動くがfindnextがマクロ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBの質問#if 0 then ってどう...
-
リョウ・・・量?料?
-
EXCEL VBA マクロ 実行する度に...
-
メルカリのメルカードで買い物...
-
再帰処理を途中で抜けるには
-
VBAでセルに値が入力されるまで...
-
Do~Loopした回数をカウントしたい
-
C# 画面のちらつきを解消したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
DoEventsがやはり分からない
-
switch の範囲指定
-
メルカリのメルカードで買い物...
-
【Excel】特定の文字を含むセル...
-
VBの質問#if 0 then ってどう...
-
VBAでCOPYを繰り返すと、処理が...
-
EXCEL VBA マクロ 実行する度に...
-
findは動くがfindnextがマクロ...
-
インタラクティブの反対語は?
-
UMLでの例外処理
-
リョウ・・・量?料?
-
Do~Loopした回数をカウントしたい
-
セックスレスの既婚女性は自慰...
-
月度は何て読みますか?
-
Loadイベント中にほかのイベン...
-
セルの値が0はクリアするマクロ
-
FFTの結果ついて
おすすめ情報