fenrirScan

fenrirScanについて

作者様
folia (◆WoqZr951YI)
作者様ホームページ「B@r09u3⇔Style Op.2」
http://hp.vector.co.jp/authors/VA026310/
最新バージョン
Ver.0.11 [09/09/29]
ソフトのコンセプト
fenrirScan.txt より

fenrir用のスキャンプログラムです。
標準のスキャン機能より、高速、高機能です。
スキャンを行うフォルダ毎に、登録するファイルの種類を設定できたり、
サブフォルダに潜らないスキャンができたりします。
また、スキャン中でもfenrirを使用することができるというメリットが
あります。

最新バージョンの変更点

  • 終了時、fenrirscan.iniのPathFilePathとHashSize がデフォルト値で上書きされてしまう不具合修正。

更新履歴

概要

  • fenrir の pathファイル をスキャンする代替えアプリケーション
  • fenrir 内蔵より高速、高機能
  • 柔軟なスキャンが可能に

注意

  • fenrir.exe (fenrir) と同じフォルダに入れること
  • 現時点では不具合が起きたときのために、事前にそれなりの対処をしておくこと

クイックインストール

ファイルの配置

  1. fenrir.exe と同じフォルダに fenrirScan.exe を配置する
  2. 同じフォルダに ScanRule.ini を作成する

基本的な使い方

  • scan.ini の内容を、空の ScanRule.ini にコピーする。
  • 先頭行の区切りを、セミコロンからカンマ区切りに変更する。
  • 先頭行の内容を、2行目以降 の末尾に半角カンマに続けて貼り付ける。
  • 先頭行は削除する。

以下の様に異なっているため、参考に。

scan.ini

\;*.exe
C:\Program Files
-C:\Program Files\Apple Software Update\SoftwareUpdate.Resources
-C:\Program Files\PictBear\scripts
-C:\Program Files\TGTSoft\ResEdit\Temp\
-C:\Program Files\Winamp\Plugins\

ScanRule.ini

C:\Program Files,*.exe,\
-C:\Program Files\Apple Software Update\SoftwareUpdate.Resources
-C:\Program Files\PictBear\scripts
-C:\Program Files\TGTSoft\ResEdit\Temp\
-C:\Program Files\Winamp\Plugins\

fenrirScan.ini

項目説明
DelimiterString=区切り文字列[文字列]
fenrirCommandLine=fenrir.exe へのパス。fenrirの再起動時に使う[パス]
HashSize=ハッシュ検索のハッシュテーブルのサイズ。下記参照[数値]
PathFilePath=pathファイル までのパス。絶対パス、相対パス両方で指定が可能[パス]
PriorityStockCount=アイテムの記録する数[数値]
ProgressShow=プログレスの表示0:表示しない 1=fenrirのタイトルバーにプログレス表示 2=ダイアログにプログレス表示
ProgressUpdatePer=プログレスの表示の更新度[スキャン数]

ScanRule.ini

fenrirScan でのスキャンの設定は ScanRule.ini にする。基本的には fenrirscan.ini に近いが、それに加え、特に要望のあったものやその他便利な機能が加えられている。

スキャン時の優先度は、* (サブフォルダをスキャンしない) > - (スキャンしないフォルダの指定) > 通常のスキャンとなっている。

基本的なスキャン

特定のフォルダの特定の拡張子をスキャン(取得)するという一般的なもの。書式は以下。

{スキャンしたいフォルダのフルパス}, {拡張子1}, {拡張子2}, ...

拡張子はワイルドカードで書く。

*.{拡張子}

ファイルではなく、フォルダのパスを取得したい場合は拡張子の代わりに\を書く。

{スキャンしたいフォルダのフルパス}, \

書式例C:\Program Files 以下の拡張子が execom のファイル、及びフォルダをスキャン(取得)する。

C:\Program Files, *.exe, *.com, \

サブフォルダをスキャンしない

行の頭に * (アスタリスク) を付ける。書式は以下。

*{スキャンしたいフォルダのフルパス}, {拡張子1}, {拡張子2}, ...

書式例C:\WINDOWSのフォルダのみの拡張子がbmptxtのファイルをスキャン(取得)する。

*C:\WINDOWS, *.bmp, *.txt

スキャンしないフォルダの指定

行の頭に - (マイナス) を付ける。スキャン対象から除外する。多くのフォルダやファイルが存在する場所 (ドライブ全体など) をスキャンするときに、スキャンしても無駄であるフォルダを指定すること。fenrir 自体の高速化にも繋がる。

-{除外したいフォルダのフルパス}

書式例

-C:\Program Files\QuickTime\PictureViewer.Resources
-C:\Program Files\Common Files

特定のパスを登録

スキャン対象ではなかったり、スキャンから - (マイナス) によって除外されていても、パスファイルに登録したいパスがある場合、+ (プラス) を行の頭に付けることで登録する。書式は以下。

+{登録したいもののフルパス}

書式例C:\WINDOWS\system32 以下はスキャン対象にしていないが、calc.exe (電卓) と mspaint.exe (ペイント) を登録したい場合の例。

+C:\WINDOWS\system32\calc.exe
+C:\WINDOWS\system32\mspaint.exe

なお、スキャン時に存在しなくても反映される。

特定のアイテムの除去

先頭に ! (エクスクラメーションマーク) を付け、ワイルドカードで指定することにより、アイテムを削除することができる。指定には十分注意すること。書式は以下。

!{パスもしくは拡張子}

書式例C:\WINDOWS 以下を全てスキャンするが、*.dll を削除する。

C:\WINDOWS, *.*, \
!*.dll

書式例C:\WINDOWS 以下を全てスキャンするが、*.svn フォルダ及び、*.svnフォルダ以下を削除する。

C:\WINDOWS, *.*, \
!*\.svn
!*\.svn\*

コマンドラインからのスキャン

iniファイル と全く同じ書式をコマンドラインオプションで指定してスキャンすることができる。コマンドラインということもあり、複数行の指定はできない。なお、パスの存在チェックは行わず、PriorityStockCount を無視する。

D:\app\fenrir\fenrirScan\fenrirScan.exe {スキャンする内容}

書式例C:\WINDOWS\Fonts 以下の *.ttf をスキャンする。

D:\app\fenrir\fenrirScan\fenrirScan.exe C:\WINDOWS\Fonts,*.ttf

Tips

fenrir 内蔵のスキャンプログラムを fenrirScan

fenrirのiniファイルScanProgram= を弄る。

ScanProgram=D:\app\fenrir\fenrirScan.exe

またはインスタントコマンド側でも指定できる。

/s=""D:\app\fenrir\fenrirScan.exe""

HashSizeについて

fenrirScan.txt より、

重複登録をはじくためにハッシュ検索というアルゴリズムをつかっているのですが、
そのときに用いるハッシュテーブルのサイズです。小さければメモリ節約になり、大きければ
高速になるという特徴があります。
スキャンした結果できるアイテム数の120%近辺の素数を設定するとバランスが良さそうな感じです。

とある。 具体的な数値を出してみる。

pathファイルのアイテム数 (行数): 850

これの 120% の数値は

850 * 1.2 = 1020

これに最も近い素数は 1019 もしくは 1021 となる。これがバランスが良い数値となる。

fenrir との連携

コマンドライン を使うことで fenrir とも連携できる。

[.***;
このパスを削除|c:\fenrir\fenrirScan.exe !%P
]

[.\\\;
;%Pを""で囲むと正常動作しないので注意
このフォルダをスキャン|c:\fenrir\fenrirScan.exe *%P,*.*,\
]

[.\\\;
exeとcomをスキャン|c:\fenrir\fenrirScan.exe *%P,*.exe,*.com
]

スケジュール実行

長時間PCを起動している場合、タスクスケジューラにより自動的に実行すると便利。

  • イベントのトリガには「コンピュータのアイドル時」を指定。使っていないような時間に定時スケジュールと組み合わせてもOK。
  • 操作には「プログラムの開始」にFenrirScanを設定。

Top   Edit Freeze Diff Backup Upload Copy Rename Reload   New List Search RecentChanges   Help   Hatena Bookmark   RSS of RecentChanges
Last-modified: 2010-01-29 (金) 12:57:40