NonSoft

ファイル更新時に指定プログラムを実行するツール


 ち〜な〜み〜に〜
フォルダ内のファイルの新規作成、更新、削除時に指定プログラム(アプリケーション)を実行したいと思った事はありませんか?
例えば、新しく出来たファイルを他のフォルダに振り分けたり、更新ファイルの自動バックアップをしたい時などです。

そんな時に役立つツールがありますので紹介します。
フォルダ監視人はフォルダ内のファイル更新を監視し、更新通知(メール可)、プログラム実行するツールです。
共有フォルダやFTPフォルダに対応しており、フォルダ同期も出来ますのでバックアップツールとしてもお試し頂けます。
このツールの特徴は指定プログラムを実行する際の引数に新/旧/差分ファイルのPATHを指定出来る点です。
また、ファイルの更新頻度が多い時に連続してプログラム実行されないように、連続実行防止機能があります。

フォルダ監視人の使用方法を以下にご紹介しますのでお試しください。

<ファイル更新時に指定プログラムを実行する方法>
(1)フォルダ監視人(FoldCheckEvt.exe)を起動するとタスクトレイにアイコンが表示されます。
  WEB操作再生ツール(WebRecPlay)のタスクトレイアイコン

(2)そのアイコンをマウス右クリックすると以下のメニューが表示されます。
  フォルダ監視人(FoldCheckEvt.exe)のタスクトレイメニュー
  ・License Key :本バージョンでは必要ありません
  ・Setting Common (共通設定) :監視フォルダ共通の設定(更新監視タイマ、差分判定方法...)
  ・Setting Mail (メール設定) :監視フォルダ共通のメール設定(認証方法、メールサーバ...)
  ・Setting Folder (フォルダ設定) :監視フォルダの設定(監視フォルダやファイル、通知方法...)
  ・Dsp Sync Folder (同期フォルダ表示):同期フォルダをエクスプローラで表示
  ・Dsp Org Folder (監視フォルダ表示):監視フォルダをエクスプローラで表示
  ・Dsp Update Log (更新履歴表示) :ファイルの更新履歴を一覧表示
  ・Check Start (監視開始) :監視を再開する時や、すぐに更新チェックをしたい時に使用
  ・Check Stop (監視停止) :監視を一時停止する時に使用
  ・End :本プログラムを終了します

(3)必要により共通設定(監視フォルダ共通)をします。
  監視フォルダ共通の設定(更新監視タイマ、1通のメールで通知する更新ファイル数、...)
  ・Loop Timer For Update Check :更新監視タイマ(ファイルの更新を監視する時間間隔秒)
  ・Invalid Time for Next Mail :各フォルダ毎のメール送信後に次メール送信を無効とする時間秒
   (※)この時間を経過するまでは次のファイル更新は無視されメール通知は行なわれません。 (連続メール送信防止対応)
   (※)全てのファイル更新をメール通知する場合は0を指定します。
  ・Invalid Time for Next Command:各フォルダ毎のCommand実行後に次Command実行を無効とする時間秒
   (※)この時間を経過するまでは次のファイル更新は無視されCommand実行は行なわれません。(連続Command実行防止対応)
   (※)全てのファイル更新をCommand実行する場合は0を指定します。
  ・Mail Append Total Size Max :メールに添付するファイルの最大合計サイズ (大量ファイル添付防止対応)
  ・Update Log Display Count :ファイル更新履歴に表示する最大件数
  ・Binary Judge For Mail Body :更新ファイルをメール本文にする時にバイナリ判定をするかどうか
  ・Binary Judge For Text Diff :更新ファイルを差分解析する時にバイナリ判定をするかどうか
  ・Fit Judge Lines For Text Diff:差分解析ロジックで使用する一致判定行数(自動判定可)
  ・Separator For Text Diff File :実行プログラムの引数で指定する差分ファイルの項目間セパレータ文字列
  ・Ftp Proxy and Port :FTPプロキシとポート番号(例)localhost:8080
   (注意)全てのプロキシサーバに対応している訳ではありませんのでご利用の環境での十分な評価をお願いします。

  本ツールのフォルダ一式をコピーして複数起動する事により、共通設定の異なる条件で複数実行する事が出来ます。

(4)必要によりメール設定(監視フォルダ共通)をします。
  監視フォルダ共通のメール設定(認証方法、メールサーバ、ポート、ユーザID、パスワード、...)
  ・Mail Auth :メール認証方法(POP before SMTP、SMTP AUTH LOGIN、SMTP AUTH CRAM-MD5、SMTP AUTH PLAIN)
  ・Mail Pop Server :メール認証方法がPOP before SMTPの時にPOPサーバー名とポート番号を指定します
  ・Mail Smtp Server :SMTPサーバー名とポート番号
  ・Mail User ID :ユーザID
  ・Mail Password :パスワード
  ・Mail Address(FROM):送信元メールアドレス
  ・Mail Address(TO) :送信先メールアドレス(フォルダ設定で監視フォルダ毎に変更可)
  ・Mail Title :送信メールのタイトル
  ・Mail Body :送信メールに固定で記述する本文

  本ツールのフォルダ一式をコピーして複数起動する事により、メール設定の異なる条件で複数実行する事が出来ます。

(5)監視するフォルダの設定をします。
  監視フォルダの設定(監視フォルダやファイル、通知方法、実行プログラム、...)
  ・一覧のCheckを有効/無効切替する事により、監視対象/監視非対象を切り替えます。
  ・ADD(一覧追加)/UPD(一覧更新)/DEL(一覧削除)ボタンで以下の情報の追加/更新/削除を行います。
  ・Folder/File Path :監視フォルダやファイルのPATH(フォルダの最後の\や/は必須) フォルダやファイルのドラッグ&ドロップ可
             (例1)C:\Temp\
             (例2)C:\Temp\Test.txt
             (例3)\\MyPc\Temp\
             (例4)\\MyPc\Temp\Text.txt
             (例5)ftp://localhost/Temp/ (※)プロキシサーバの指定は共通設定で行います
             (例6)ftp://localhost/Temp/Test.txt (※)プロキシサーバの指定は共通設定で行います
  ・Ftp User Id :FTPユーザID
  ・Ftp Passwod :FTPパスワード
  ・Ftp PASV :FTPでPASVモードを使用するかどうか
  ・Extensions :監視する拡張子(カンマで区切って複数指定可) (例)txt,html,doc,xls
  ・Sub Folder :サブフォルダを監視するかどうか
  ・ADD/UPD/DEL :監視する更新状態       (ADD:追加、UPD:更新、DEL:削除、NON:未更新)
  ・Comparison Item :更新判定をする時に比較する項目(DATE:更新日時、SIZE:ファイルサイズ)
  ・Icon :ファイル更新時にアイコンを点滅するかどうか
  ・Baloon :ファイル更新時にバルーンを表示するかどうか
  ・Sync Folder :オリジナルフォルダのミラーを作成し同期するかどうか
   (※)MailやCommandの差分解析処理等で旧ファイルが必要な場合は[Sync Folder]無効に出来ません
  ・Mail :ファイル更新時にメール通知するかどうか
   ・Mail To Address:送信先メールアドレス(セミコロンで区切って複数指定可) (例)<aaa@xxx.com>;<bbb@xxx.com>
   ・BODY PATH :メール本文に更新ファイルのPATHを記述するかどうか
   ・BODY TEXT :メール本文に更新ファイルの内容を記述するかどうか
   ・BODY DIFF :メール本文に更新ファイルの差分を記述するかどうか(※)[Sync Folder]が有効になります
   ・APPEND ORG :メールに更新ファイル(圧縮無し)を添付するかどうか
   ・APPEND ZIP :メールに更新ファイル(ZIP圧縮)を添付するかどうか (※)Windows2000ではZIP圧縮は出来ません
   ・Mail Lines :BODY TEXTまたはBODY DIFFでメール本文に記述するテキストの最大行数(マイナス値の場合は末尾からの行数)
   ・Files One Mail :1通のメールで通知する更新ファイル数
   ・Only Once :共通設定の[Loop Timer For Update Check]間隔で複数の通知メールがあっても1回だけ送信するかどうか
    (※)この設定が有効な場合は、[Files One Mail]以上の更新ファイルがあっても無視されます
    (※)この設定が無効な場合は、(更新ファイル数÷[Files One Mail])通のメールが送信されます
   (※)共通設定の[Invalid Time for Next Mail]を設定すると全てのメール送信完了後一定時間はメール送信されません
  ・Command :ファイル更新時にコマンド(プログラム)を実行するかどうか
   ・Command Line :実行するプログラムのコマンドライン(引数に新/旧/差分ファイルのPATHを指定可)
    (例1)%F% :新ファイルのオリジナルPATH(C:\Windoes\Notepad.exe %F%)(※)削除の時は存在しないファイルのPATH
    (例2)%N% :新ファイルのコピーのPATH (C:\Windoes\Notepad.exe %N%)(※)削除の時は存在しないファイルのPATH
    (例3)%O% :旧ファイルのコピーのPATH (C:\Windoes\Notepad.exe %O%)(※)追加の時は存在しないファイルのPATH
     (※)[Sync Folder]が有効になります
    (例4)%D% :差分ファイルのPATH (C:\Windoes\Notepad.exe %D%)(※)[Sync Folder]が有効になります
   ・Minimized :コマンド(プログラム)を実行する時に最小化するかどうか
   ・Only Once :共通設定の[Loop Timer For Update Check]間隔で複数のファイルが更新されても1回だけ実行するかどうか
    (※)この設定が有効な場合は、%F%、%N%、%O%、%D%に「対象PATH一覧を保存したファイル」のPATHが設定されます
    (※)この設定が無効な場合は、更新ファイル個別に複数回コマンド実行されます
   (※)共通設定の[Invalid Time for Next Command]を設定すると全てのコマンド実行完了後一定時間はコマンド実行されません

   <差分ファイルのフォーマット>
   TYP<セパレータ>OLD NO.<セパレータ>OLD TXT<セパレータ>NEW NO.<セパレータ>NEW TXT<改行>
   UPD<セパレータ>1 <セパレータ>OLD TXT<セパレータ>1 <セパレータ>NEW TXT<改行>
   ===<セパレータ>2 <セパレータ> TXT<セパレータ>2 <セパレータ> TXT<改行>
   ADD<セパレータ> <セパレータ> <セパレータ>3 <セパレータ>ADD TXT<改行>
   ===<セパレータ>3 <セパレータ> TXT<セパレータ>4 <セパレータ> TXT<改行>
   DEL<セパレータ>4 <セパレータ>DEL TXT<セパレータ> <セパレータ> <改行>

(6)フォルダ設定の画面を閉じると30秒後に現在のフォルダやファイル状況を取得します。
  その後、共通設定の[Loop Timer For Update Check]間隔でファイルの更新チェックを行います。
  メニューのCheck Start(監視開始)を実行すると10秒後に処理を開始します。

(7)更新履歴表示で過去のファイル更新履歴を一覧表示します。更新ファイルを開く事が出来ます。
  ファイルの更新履歴を一覧表示
  ・RELOAD(再読込) :更新履歴を最新表示します。無操作状態で放置すると自動的に最新表示します。
  ・SELECT ALL(全選択) :一覧を全選択状態にします。
  ・COPY CLIPBOARD(コピー) :一覧中の選択された部分をクリップボードにコピーします。(エクセル等に貼り付け可)
  ・OPEN/EXEC(開く/実行) :選択されたファイルを拡張にに関連づいたプログラムで開きます。(EXEやBATの場合は実行)
  ・OPEN TEXT(テキストで開く):選択されたファイルをテキストエディタで開きます。