Welcome to Tukaeru Software Homepage
 ホーム > ソフトウェア > 掲示板

[リストへもどる]
一括表示
タイトルフォルダ監視のbat処理
記事No2113
投稿日: 2020/12/07(Mon) 10:06
投稿者naruto
フォルダー監視の検証をさせて頂いておりますが、プログラム起動設定
で「bat」ファイルを指定し、パラメータ(%NAME%)、「プログラムが
終了まで待機する」を使用しております。
しかし、batの途中で終了してしまいます。(batファイル終了までに
約11秒)また、バッチ処理を表示させても同じ結果でした。
「プログラムが終了まで待機する時間指定」ができれば幸いです。
※コマンドプロンプトから実行すると最後まで処理されます。

お手数をおかけしますが、よろしくお願いします。

タイトルRe: フォルダ監視のbat処理
記事No2114
投稿日: 2020/12/07(Mon) 21:00
投稿者作者
書き込みありがとうございます。

> プログラム起動設定で「bat」ファイルを指定し、パラメータ(%NAME%)、
>「プログラムが終了まで待機する」を使用しております。
> しかし、batの途中で終了してしまいます。
>(batファイル終了までに約11秒)また、バッチ処理を表示させても同じ結果でした。
> 「プログラムが終了まで待機する時間指定」ができれば幸いです。
> ※コマンドプロンプトから実行すると最後まで処理されます。

「プログラムが終了するまで待機する」のチェックがONの場合、
実行された「.bat」ファイルが終了するまでタスクトレイのアイコンが黄緑色になり、待機状態になります。
バッチファイルが終了すると再開するような仕様になっているかと思います。

試しに次のような「text.bat」ファイルを作成してフォルダ監視からプログラム起動させてみてください。
フォルダ監視のインストールフォルダ内に「test.txt」が出力され、batがpauseで停止しているため待機状態になるかと思います。
※コントロールパネル等で「cmd.exe」を強制終了すると、再開されます。
※batファイルは画面を表示しない仕様になっています。

-- text.bat ----
echo %date% %time% %1 >> test.txt
pause
----------------

途中の文面が読み解けなかったのですが、参考としてバッチファイルから更に別のバッチファイルを実行して、
フォルダ監視から実行されたバッチファイルが終了するとフォルダ監視は再開状態になります。

タイトルRe^2: フォルダ監視のbat処理
記事No2115
投稿日: 2020/12/07(Mon) 21:40
投稿者naruto
> 書き込みありがとうございます。
>
> > プログラム起動設定で「bat」ファイルを指定し、パラメー
タ(%NAME%)、
> >「プログラムが終了まで待機する」を使用しております。
> > しかし、batの途中で終了してしまいます。
> >(batファイル終了までに約11秒)また、バッチ処理を表示
させても同じ結果でした。
> > 「プログラムが終了まで待機する時間指定」ができれば幸
いです。
> > ※コマンドプロンプトから実行すると最後まで処理されま
す。
>
> 「プログラムが終了するまで待機する」のチェックがONの場合、
> 実行された「.bat」ファイルが終了するまでタスクトレイのアイ
コンが黄緑色になり、待機状態になります。
> バッチファイルが終了すると再開するような仕様になっているか
と思います。
>
> 試しに次のような「text.bat」ファイルを作成してフォルダ監視
からプログラム起動させてみてください。
> フォルダ監視のインストールフォルダ内に「test.txt」が出力さ
れ、batがpauseで停止しているため待機状態になるかと思います。
> ※コントロールパネル等で「cmd.exe」を強制終了すると、再開
されます。
> ※batファイルは画面を表示しない仕様になっています。
>
> -- text.bat ----
> echo %date% %time% %1 >> test.txt
> pause
> ----------------
>
> 途中の文面が読み解けなかったのですが、参考としてバッチファ
イルから更に別のバッチファイルを実行して、
> フォルダ監視から実行されたバッチファイルが終了するとフォル
ダ監視は再開状態になります。

お世話になっております。
pauseでの待機状態は確認できました。

現状、batファイルにてpythonを実行させています。batファイルが途
中で終了(約8秒)しているため、pythonプログラムも途中で終了してお
ります。(通常完了まで約11秒)
(通常コマンドプロンプトでbatを実行しますと中断せず最後まで完了
します)
フォルダー監視にて、コマンドプロンプトでpython実行すると、コマ
ンドプロンプト終了まで待機できていないのではと思われます。(pyth
onだから?)
つきましては、「プログラムが終了まで待機する」の項目はフォルダ
ー監視にありますが、「待機時間の設定」できますと有難いです。(別
のBatでメモ帳をCall文で実行すると終了まで待機しますが、python公
文は待機しませんでした)

ご教示の程お願い致します。

タイトルRe^3: フォルダ監視のbat処理
記事No2116
投稿日: 2020/12/07(Mon) 23:45
投稿者作者
> 現状、batファイルにてpythonを実行させています。
> batファイルが途中で終了(約8秒)しているため、
> pythonプログラムも途中で終了しております。(通常完了まで約11秒)
> (通常コマンドプロンプトでbatを実行しますと中断せず最後まで完了します)
> フォルダー監視にて、コマンドプロンプトでpython実行すると、
> コマンドプロンプト終了まで待機できていないのではと思われます。(pythonだから?)
> つきましては、「プログラムが終了まで待機する」の項目はフォルダー監視にありますが、
> 「待機時間の設定」できますと有難いです。
> (別のBatでメモ帳をCall文で実行すると終了まで待機しますが、python公文は待機しませんでした)

Call文で実行しているのでしたら終了を待機しているかと思いますので、Python側でスレッド処理している等、
処理は終了しているという事は考えられませんか?
Pythonは利用したことがないのでよくわかりませんが、Pythonの処理終了後にBatのPauseと同様に
sleep等によりPython自体を待機状態にしてみてもBat処理は終了しますか?

また待機時間を設定して暫定的に対処してしまうと、
何らかの要因でプログラムが指定時間内に終了しなかった場合など、トラブルのもとになるかと思われますので、
Pythonで然るべき処理が終了したら例えば終了ファイルを出力するなどにより、
Batファイル側で処理終了を待機させる等の対処をおすすめします。

タイトルRe^4: フォルダ監視のbat処理
記事No2117
投稿日: 2020/12/08(Tue) 15:53
投稿者naruto
> Call文で実行しているのでしたら終了を待機しているかと思いま
すので、Python側でスレッド処理している等、
> 処理は終了しているという事は考えられませんか?
> Pythonは利用したことがないのでよくわかりませんが、Pythonの
処理終了後にBatのPauseと同様に
> sleep等によりPython自体を待機状態にしてみてもBat処理は終了
しますか?
>
> また待機時間を設定して暫定的に対処してしまうと、
> 何らかの要因でプログラムが指定時間内に終了しなかった場合な
ど、トラブルのもとになるかと思われますので、
> Pythonで然るべき処理が終了したら例えば終了ファイルを出力す
るなどにより、
> Batファイル側で処理終了を待機させる等の対処をおすすめしま
す。

お世話になっております。
早速のご返答ありがとうございました。
pythonで「Pause」「sleep」で検知しました。以降処理されていない
箇所が判明し、変数の受渡し構文を変更したところ「フォルダー監視」
でも動くようになりました。

ご参考になるご提案を頂きありがとうございました。