LWFUD
提供: JUDStyle
LWFUDは、WindowsXP等のDOSプロンプトベースで動作する、ファイル監視機能付きアプリケーションランチャー。
目次
概要
INIファイルで設定されたファイルが更新されるか監視し、更新された時点で設定されたアプリケーションを起動する。INIファイルは標準でアプリケーションと同一ディレクトリにある同一名(拡張子.INI)が選択されるが、個別に指定することもできる。
詳細
- 監視できるディレクトリは1個。
- 監視するファイルごとに起動アプリケーションを設定可能。
- アプリケーションの起動方法を、組み合わせごとに変更可能。
- 監視できるファイルとアプリケーションの組み合わせ数は実用上無限。
- 理論的限界は、INIファイル内に記述された (セクション名長さ+1)+1Bytes の総計が2047Bytes以内であること。
使用方法
コマンドラインまたはコマンドアイコン、ショートカットアイコンなどから使用できる。
起動
コマンドラインからの起動は以下の通り。
LWFUD.exe [/?] [INI-FileName]
- コマンドライン引数として/?を与えた場合、簡素なヘルプメッセージが表示される。ここに書いてある以上のことは表示されない。
- INIファイル名を指定しない場合、アプリケーションと同一ディレクトリにある同一名(拡張子.INI)が選択される。
コマンドアイコンからの起動
コマンドライン引数が与えられないが、そのまま起動することでDOSプロンプトから起動される。コマンドライン引数でINIファイルを指定することは(ショートカット設定を除いて)できないが、INIファイルをコマンドアイコンにドラッグすることで、使用するINIファイルを指定することが可能。
終了
Ctrl+Cを押下するか、実行中のMS-DOSプロンプトウィンドウを閉じれば、アプリケーションは終了する。
INIファイル設定
動作は、起動時に指定したか、あるいは起動時に自動で選択されるINIファイルの内容に従う。
Globalセクション
- TargetDir
- 監視対象とするディレクトリ名。省略した場合はカレントディレクトリを使用する。該当ディレクトリが存在しない場合は起動時エラーとなる。
WatchTargetセクション
監視対象と、更新された時点で起動するアプリケーションを記述するセクション。セクション単位で複数指定可能。Targetで開始するセクション名を付与する。
- Type
- 起動方法として "DOS" または "WINDOW" を設定する。
- DOS型の場合、起動中のDOSプロンプトウィンドウに標準出力がそのまま表示され、起動されたアプリケーションが終了するまで監視動作をブロックする。
- WINDOW型の場合、新たなプロセスでアプリケーションを起動する。アプリケーションが起動した時点で、監視動作は続行する。
- TargetFile
- 監視対象とするファイル名。パス名付き指定は無効(自動的に置き換える)で、GlobalセクションのDefaultDirの該当ファイルを監視対象とする。省略不可で、指定ファイルが存在しない場合は起動時エラーとなる。
- Action
- 監視対象ファイルが更新された時点で起動されるアプリケーション名を指定する。起動パスの自動補完は行われないが、環境変数PATH等は参照する。省略不可で、該当するアプリケーションが起動できない場合、実行時エラーとなる。
注意事項
- 対象のファイルが更新されたか確認するためにファイル更新時刻を参照しているため、更新確認の解像度は1秒。これには、_stat( )システムコールの struct _stat 構造体内 st_mtime を参照。
- 監視対象がテキストエディタなどで複数回更新された場合(これは秀丸等の多くのエディタが該当)でも、同一時刻同一秒中に更新された場合は1回の更新とみなす。
- ファイル更新前のファイル更新時刻を記録するため、監視対象ファイルはすべて現存している必要がある。
- Ctrl+Cで動作を中止した場合、DOS型で起動されて実行中のアプリケーションに対する影響は不定。多くの場合、起動されているアプリケーションにCtrl+Cを押下したアクションが適用される。
- DOS型で起動したアプリケーションの実行結果(コマンドライン戻り値)は、終了後に表示される。
- コマンドラインアプリケーションをWINDOW型設定で起動した場合、新しいDOSプロンプトウィンドウが表示され、アプリケーション終了後に自動でウィンドウは消える。起動されたアプリケーションの実行が継続されても、本アプリケーション自体は直ちに監視動作に戻る。
- ウィンドウアプリケーションをDOS型設定で起動した場合、ウィンドウアプリケーションのメインプロセスが終了するまで監視動作はブロックされる。
Comments
- このアプリケーションは何かを保証するものではありません。