あけましておめでとうございます。
IoTインテグレーション事業部 開発部の石崎です。
Everythingというソフトウェアをご存じでしょうか?
あらかじめファイル名のインデックス(索引)を作成しておくことにより超高速でファイル検索ができるソフトです。
上のように4千個以上ヒットするファイル検索も一瞬で終わります。
PC内のファイル以外に、共有フォルダも検索対象にすることができます。
ですが、共有フォルダのインデックス作成にはかなり時間がかかりますし、Everything使用者が複数人いる場合、各自でインデックス作成を行うとファイルサーバーやネットワークに余計な負荷をかけてしまいます。
そこで、Everythingのファイルリストを1人が作成し、それを共有フォルダに置いてみんなで共有することでインデックス作成による負荷を減らせるようにしました。
(ファイルリストとはefuという拡張子のファイルで、CSV形式でインデックス情報が格納されています。)
※常時稼働中のWindowsサーバーなどがあれば良かったのですが、残念ながらインデックス作成を行える丁度いい環境がありませんでした。
Everythingのファイルリスト作成
ファイルリスト作成.bat
1 2 3 4 5 6 7 8 9 10 11 |
@echo off echo 共有1のファイルリストを作成中... ..\Everything.exe -create-filelist ファイルリスト_共有1.efu \\共有1 powershell Compress-Archive -Force ファイルリスト_共有1.efu ファイルリスト_共有1.zip move /Y ファイルリスト_共有1.zip \\共有1\Everythingファイルリスト echo 共有2のファイルリストを作成中... ..\Everything.exe -create-filelist ファイルリスト_共有2.efu \\共有2 powershell Compress-Archive -Force ファイルリスト_共有2.efu ファイルリスト_共有2.zip move /Y ファイルリスト_共有2.zip \\共有2\Everythingファイルリスト |
上のバッチを実行すると下記を行います。
- \\共有1 と \\共有2 それぞれのファイルリストをバッチと同じフォルダに作成
- efu(CSV)形式はサイズが大きいのでzip圧縮
- \\共有1 と \\共有2 にそれぞれのzipを配置
(ユーザーごとにアクセス権が異なるのでそれぞれの共有フォルダ配下に配置)
実行するためにはEverything本体が必要です。 ..\Everything.exeをインストール先に変更します。
他の人が作成したファイルリストを取得
ファイルリスト取得.bat
1 2 |
powershell Expand-Archive -Force \\共有1\Everythingファイルリスト\ファイルリスト_共有1.zip . powershell Expand-Archive -Force \\共有2\Everythingファイルリスト\ファイルリスト_共有2.zip . |
上のバッチを実行すると共有フォルダにあるzipをバッチと同じフォルダに解凍します。
Everythingでファイルリストを読み込む
Everythingのオプションを開き、「ファイルリスト」の項目でefuファイルを追加すると共有フォルダのファイルが検索できるようになります。