━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ いざというときに役立つMS−DOS 執筆:速星 千里 第56号(2004.07.17) 起動履歴記録ツール(2) 5519部配信 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <目次> ■ はじめに ■ logwrite.bat(2) ● 前回の訂正 ● アプリケーション起動履歴の取得 ● 動作の仕組み ─ PR ──────────────────────────────── ┏──────────────────┓【1】限度額最大200万円 │ え?am/pmでカードができる!?   │【2】実質年率15.0%〜18.0% │    最短即日キャッシングOK!  │【3】土日・祝日もカード発行 ┗──────────────────┛【4】三井住友銀行グループ お申込みフォームはこちら⇒ http://211.10.20.135/a/a.cgi?k05055Cm01507 ─ PR ──────────────────────────────── ─ PR ──────────────────────────────── 自由な時間があったら・経済的な余裕があったら・まず何をしたいですか?           最近何処かに出掛けましたか?        行きたい時に行きたい所に行ける・・自由!!         それが実現するとしたら・・貴方は??           http://www.givealife.biz ─ PR ──────────────────────────────── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ はじめに ------------------------------------------------------------------------ 皆さん、こんにちは。速星です。 今回は、Windowsだけでなく、他のアプリケーションの起動ログも取得する方法 を紹介します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ logwrite.bat(2) ------------------------------------------------------------------------ ● 前回の訂正 前回ご紹介したWindows起動履歴取得用のバッチファイルですが、 「実行時に前回までのログを削除してしまうため、最新のログしか保存されない」 という致命的なバグがありました。 原因は、以下の1行です。 > if not exist logwrite.log echo. > logwrite.log 私はECHOコマンドの出力をリダイレクトしたつもりだったのですが、この構文は、 どうやら、IFコマンドの出力のリダイレクトとして認識されているようです。 このため、IF条件文の成立・不成立に関わらずリダイレクトが実行され、ログファ イル「logwrite.log」の中身が削除されてしまっていると考えられます。 ということで、この部分を以下のように訂正すると正常動作するようになるはず です。 【訂正前】 > if not exist logwrite.log echo. > logwrite.log > copy logwrite.log+logwrite.tmp logwrite.log 【訂正後】 > if exist logwrite.log goto APPEND > echo. > logwrite.log > > :APPEND > copy logwrite.log+logwrite.tmp logwrite.log 訂正後のバッチファイル全体を下に記しておきます。 -----(logwrite.bat ここから)----- @echo off echo ログ取りツール LogWrite 簡易版 Ver1.0a echo Copyright(C) 2004 Chisato Hayahoshi echo. if "%1"=="/?" goto USAGE echo. > logwrite.tmp dir logwrite.tmp | find /i "logwrite" > logwrite.tmp if exist logwrite.log goto APPEND echo. > logwrite.log :APPEND copy logwrite.log+logwrite.tmp logwrite.log del logwrite.tmp goto END :USAGE echo logwrite echo. echo 起動日時を logwrite.log に記録します. :END echo. -----(logwrite.bat ここまで)----- ------------------------------------------------------------------------ ● アプリケーション起動履歴の取得 Windowsの起動時には、スタートアップに登録したプログラムが自動的に実行さ れます。 従って、Windowsの起動履歴は、上に記したバッチファイルをスタートアップに 登録するだけで取得することができます。 しかし残念ながら、アプリケーション起動時にバッチファイルが自動的に実行さ れるような仕組みは用意されていません。 従って、アプリケーションの起動ログを取るためには、逆に、ログ取得用のバッ チファイルからアプリケーションを起動するようにしなければなりません。 では、前回紹介したバッチファイルを改良して、任意のアプリケーションを呼び 出せるようにしてみましょう。 -----(logwrite.bat ここから)----- @echo off echo ログ取りツール LogWrite Ver1.0a echo Copyright(C) 2004 Chisato Hayahoshi echo. if "%1"=="/?" goto USAGE echo. > logwrite.tmp dir logwrite.tmp | find /i "logwrite" > logwrite.tmp echo. > logwrite.cmt if "%1"=="" goto MAIN echo %1 %2 %3 %4 %5 %6 %7 %8 %9 > logwrite.cmt if exist %1 start %1 %2 %3 %4 %5 %6 %7 %8 %9 :MAIN if exist logwrite.log goto APPEND echo. > logwrite.log :APPEND copy logwrite.log+logwrite.tmp+logwrite.cmt logwrite.log del logwrite.tmp del logwrite.cmt goto END :USAGE echo logwrite [実行ファイル名] [オプション[ ...]] echo logwrite [ファイル名] [コメント[ ...]] echo. echo 起動日時とコメント(9個まで)を logwrite.log に記録します. echo また、指定されたファイルを実行またはオープンします. echo ファイル名は正確なパスとともに記す必要があります. :END echo. -----(logwrite.bat ここまで)----- バッチファイルができたら、そのショートカットを作り、アプリケーションの起 動用ショートカットと置き換えましょう。 とりあえず、バッチファイルをデスクトップにドラッグし、「Ctrl」と「Shift」 を押しながらマウスから手を離します。 これで、デスクトップにバッチファイルのショートカットが作成されました。 次に、バッチファイルのオプションを設定します。 ショートカットのプロパティを開き(アイコン上で右クリック→プロパティ)、 「プログラム」タブ内にある「コマンドライン」という項目を見て下さい。 バッチファイルのファイル名が絶対パスで書かれているはずです。 ここに、バッチファイルの起動オプションとして、起動ログを取りたいアプリケー ションの起動時のコマンドラインを追記します。 なお、コマンドラインは、そのアプリケーションのショートカットのプロパティ を開けば、「リンク先」という項目に書かれています。 ------------------------------------------------------------------------ ● 動作の仕組み このバッチファイルの動作は、基本的には前回のものと変わりません。 前号のバッチファイルと大きく異なる点は、以下の1行によって、バッチファイ ルの起動オプションで指定したプログラムを起動していることだけです。 > if exist %1 start %1 %2 %3 %4 %5 %6 %7 %8 %9 ------------------------------------------------------------------------ 今回はここまでです。 お疲れ様でした! 次号の予定は、「起動履歴記録ツール(1)」です。 Windowsや特定のプログラムの起動履歴を取得するためのバッチファイルを紹介 します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ∞∞┌─┐∞∞∞ ★資格支援・専門学校・スクール情報満載サイト★ ┌─┘○└─┐     『画 像』で見つかる専門サイト【王 国】 |田□田田□|    検索不要の厳選サイト600以上がぎっしり! |田田田□田|  新しい『資格』にチャレンジ!! - スクール.cc - |□田∩田□|      http://www.kingdom.or.jp/school/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ コメントをお待ちしています ------------------------------------------------------------------------ 皆さんからの感想・質問・要望をお待ちしています。 「こんなテーマを扱ってほしい」 「こんなことはできるの?」 「このへんが分かりにくかった」 「1回の分量を増やしてほしい/減らしてほしい」 など、掲示板(下記URL)まで気軽にお願いします。 http://bbs9.otd.co.jp/dos/bbs_thread (スレッド表示) http://bbs9.otd.co.jp/dos/bbs_tree (ツリー表示) メールでもコメントを受け付けておりますので、そちらもご利用下さい。 tetrahedrane@yahoo.co.jp なお、いただいたコメントは、本マガジン上で引用する場合があります。 (メールアドレスやお名前は一切公開いたしません) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● 感想・質問宛先 http://bbs9.otd.co.jp/dos/bbs_tree tetrahedrane@yahoo.co.jp ● 広告募集 当メルマガへの広告掲載をご希望の方は、下記アドレスまでお願いします。 tetrahedrane@yahoo.co.jp ● メルマガ交換広告募集 当メルマガとのメルマガ交換広告をご希望の方は、下記アドレスまでどうぞ。 tetrahedrane@yahoo.co.jp ● 登録・解除・バックナンバー http://www.geocities.co.jp/Bookend-Hemingway/4963/column/dos/ このメールマガジンは、『まぐまぐ』を利用して発行しています。 http://www.mag2.com/m/0000106066.htm (c) 2004 Chisato Hayahoshi