簡易エクスプローラー「Portable Explorer」
概要
●概要
|
重要注意事項
|
基本操作
●表示フォルダの指定 当ソフトウェアは、コマンドラインオプションで有効なファイル/フォルダのパスが指定されたならば、起動後、指定ファイルの格納フォルダあるいは、指定フォルダをエクスプローラー複製領域で初期フォルダとして表示します。指定するコマンドラインオプションが、半角スペースを含むパスならば、パス全体を引用符""で囲む必要があります。コマンドラインオプションでのパス指定がなければ、前回起動時の、最後に表示した「パスが有効なフォルダ」を初期フォルダとして表示します。初回起動時など、前回起動時の有効なフォルダパスも無ければ、特殊フォルダ「コンピューター」を初期フォルダとして表示します。 「■フォルダを開く」コンボボックスの、項目「コピーしたパス」は、クリップボード内にあるファイル/フォルダのパス文字列を基にフォルダを表示します。クリップボード内に有効なパス文字列がなければ、当ソフトウェアのEXEファイルがあるフォルダを表示します。項目「コピーしたGUID」は、書式「{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}」の形式でクリップボードにコピーされた識別子GUIDを基にフォルダを表示します。このGUIDは、ラッパー名の「CLSID」とも呼ばれます。この項目の選択時にShiftキーが押されていれば、このGUIDを当ソフトウェアではなくエクスプローラー経由でシステムに処理させます。項目「コピーした環境変数」では、「%SystemRoot%」といった、特定フォルダのパスを意味する環境変数を実際のパスに変換して、そのフォルダを表示します。項目「カレントフォルダを開く」は、その時点でのカレントフォルダを表示します。項目「当EXEフォルダ」は、当ソフトウェアのインストールフォルダを意味します。一度選択した項目で再実行したい場合は、このコンボボックスをダブルクリックしてください。 「■特殊フォルダを開く」コンボボックスには、Windowsで既定となっている特殊フォルダの一覧を格納しており、コンボボックスで選択したフォルダを表示します。この「既知の特殊フォルダ」には、「ControlPanelFolder」など、有効なパスを持たないものもあります。また、実行環境によっては、表示できないフォルダも一覧に含まれます。このコンボボックスにフォーカスがある状態ならば、Pキーといった英字キー押し下げにより、コンボボックス内の同英字から始まる項目まで自動でスクロールして同項目が選択可能になります。一度選択した項目で再実行したい場合は、このコンボボックスをダブルクリックしてください。 「エクスプローラー取り込み」ボタンで、現在エクスプローラーで表示されているフォルダ情報を取り込んで、当ソフトウェアで表示します。エクスプローラーで表示されているフォルダが複数ならば、そのフォルダ群をリストアップしますので、当ソフトウェアで表示するフォルダを選択してください。なお、この機能では、「コントロールパネル」といった有効なパスが無いフォルダは取り込んで表示することができません。 「エクスプローラーへ出力」ボタンは、当ソフトウェアで表示しているパスが有効なフォルダを、エクスプローラーの新しいウィンドウで表示させます。また、Shiftキーを押しながらこのボタン押し下げにより、当ソフトウェアのエクスプローラー複製領域だけのウィンドウを新たに表示します。この機能は、フォルダの比較やファイル/フォルダのドラッグ・アンド・ドロップ操作を想定して実装しました。 ●青空白猫で開く/テキストエディタで開く 「青空白猫で開く」ボタンは、エクスプローラー複製領域上で選択されたファイルを、汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」で開きます。また、「テキストエディタで開く」ボタンでは、選択されたファイルを、システムで拡張子「TXT」に関連付けられたテキストエディタで開きます。もし、関連付けられたテキストエディタのEXEパスが取得できない場合は、「メモ帳」を使用します。なお、誤操作回避のため、選択されたファイルが複数ならば、 選択ファイル群の先頭ファイルのみを開きます。 ●パス/ファイル・フォルダ名/拡張プロパティ/ハッシュ/抽出した文字列/画像のOCR結果/選択領域のOCR結果/システム情報をコピー 「(パス/ファイル・フォルダ名/拡張プロパティ/ハッシュ/抽出した文字列/画像のOCR結果/選択領域のOCR結果/システム情報)をコピー」ボタンで、選択されたファイル/フォルダのパスあるいはファイル/フォルダ名、または、選択されたファイルのメタデータである「拡張プロパティ」あるいは各種ハッシュを取得してコピーします。 「抽出した文字列」の場合は、実行環境に導入済みのIFilter(検索を補助するプログラム)を使って、選択された、TXTファイル、HTMLファイル、XMLファイル、PDFファイルや、Microsoft Office関連のDOCX、PPTXおよびXLSXファイルといった、IFilterが対応するドキュメントファイルから含まれる文字列を抽出してコピーします。対象がPDFファイルならば、黒塗り文字や透明文字などの読めない文字列および、コピーが制限されている文字列でも抽出できます。Windows OSに最初から付属していない、Microsoft Office関連ファイル用のIFilterは、以下で入手できます。 Microsoft Office 2010 フィルタ パック ※Windows 8以降はサポート外だがWindows 10でも動作する。ZIPファイル用のIFilterを含む。 なお、このようなIFilterによる文字列抽出機能は、エクスプローラー複製領域上でプレビューウィンドウにプレビューを表示する機能とは別の機能です。たとえばXLSXファイル用のIFilterを導入しても、プレビューウィンドウにプレビューは表示できません。 「画像のOCR結果」では、選択されたBMP/JPEG/PNG/GIF/TIFFファイルにOCR(光学式文字認識)での読み取りを行い、画像中の文字列を取得してコピーします。「選択領域のOCR結果」ならば、マウスの左ドラッグで選択した画面上の領域に対してOCR(光学式文字認識)での読み取りを行い、文字列を取得してコピーします。「選択領域のOCR結果」は、Altキーを押しながら実行すると、当ソフトウェアのEXEファイルがあるフォルダに、選択領域の画像を保存します。これらのOCR機能で、読み取り精度を高める条件としては、対象となる文字列が鮮明かつ大き目のフォント、また白地に黒文字が挙げられます。なお、OCR読み取り用の特殊な英数字フォントは、日本語文字列と誤認識する可能性があります。ちなみに、日本語文字列の全角文字間に半角スペースが挿入されるのはWindowsの仕様であり、将来的に修正されると考えられます。 これらのOCR機能を使うには、以下の手順でIFilterを有効化する必要があります。 1.「特殊フォルダを開く」コンボボックスで「ChangeRemoveProgramsFolder [プログラムと機能]」を選択 2.「Windows の機能の有効化または無効化」を選択し(※)、「Windows TIFF IFilter」にチェックして「OK」 ※「Windows+R」キーを押し「ファイル名を指定して実行」でoptionalfeaturesと入力して「OK」でも可 このOCR機能は、上記IFilterすなわちWindowsの内部機能のみで実装しているため、オフライン環境でも使用可能です。これにより、元画像や読み取り文字列の、外部流出および情報漏洩のリスクを低減させることができます。 ちなみに、OCRによる画面上の文字列の取得とは別のアプローチとして、『うさみみハリケーン』同梱のボタン型ランチャー 「NekoLaunch」(NekoLaunch.exe)が実装する「カーソル直下文字列の取得」機能で、ウィンドウ上のメニューやステータスバーなどにある本来コピーできない文字列を取得・コピーできる可能性があります。「NekoLaunch」のカーソル直下文字列の取得用ホットキーは、標準では「Ctrl+Uキー」が指定されています。 「システム情報」では、実行環境PCにおける、Windows OSやCPU、物理メモリ、グラフィック、サウンド、ディスクドライブ、マザーボードおよびBIOSの情報を一括取得してコピーします。取得される情報の中に含まれる、各種のID、シリアルおよびユーザー名などの識別情報は、不測の事態を避けるため、外部には公開しないことを強くお勧めします。 取得されたシステム情報の仕様については、「Win32_OperatingSystem」といった検索用キーワードで検索することで、Microsoftが公開している仕様詳細を参照可能です。当ソフトウェアでは、この仕様の変更を適時反映させることができないため、必要に応じて仕様を参照していただく形にしました。 これらのファイル/フォルダに対するコピー機能は、ファイル/フォルダの複数選択に対応しています。エクスプローラーの仕様により、「すべてのコントロール パネル項目」といった特殊フォルダ上での、パスやファイル名のコピーは、正常に動作しないことがあります。Shiftキーを押しながら「をコピー」ボタンで、コピーした文字列を確認・編集および、Windows付属の音声合成機能での読み上げを可能にする、簡易テキストエディタを開いて表示します。 ●オプションを指定して実行 「オプションを指定して実行」ボタンで、選択したEXEファイルを、コマンドラインオプションを指定して実行します。誤操作回避のため、もし選択EXEファイルが複数ならば、選択ファイル群の先頭EXEファイルを使用します。オプション指定画面では、ファイルやフォルダを参照してそのパス(群)を指定することもできます。また、起動後に『うさみみハリケーン』でアタッチさせる指定もできるようにしました。 ●Cmdシェル/PowerShell/フォルダ比較機能/オプション設定/インデックス設定を起動 「(Cmdシェル/PowerShell/PowerShell_ISE/フォルダ比較機能/オプション設定/インデックス設定)を起動」ボタンで、エクスプローラー複製領域上で選択されているファイルの格納フォルダあるいは選択フォルダ、選択がなければ現在表示されているフォルダを指定して、CmdシェルまたはPowerShellを起動します。選択アイテムが複数ならば、選択アイテム群の先頭アイテムのパス情報を使用します。現在表示されているフォルダが有効なパスを持たない特殊フォルダならば、直近に表示した有効なパスを持つフォルダを指定します。 項目「フォルダ比較機能」を選択して起動した場合は、当ソフトウェアの「フォルダ・ファイル比較」画面を表示します。この画面から、指定した2つのフォルダに含まれるファイルを比較して、SHA1ハッシュの一致状況を表示します。単一ファイル同士での、SHA1ハッシュの比較も可能です。指定したフォルダ内のファイルリストでは、「インポート」と「エクスポート」ボタンにより、ファイルリスト表示内容をテキストファイルに出力したり、そのテキストファイルを読み込んでファイルリストを表示することもできます。また、「テキストファイルのみ表示」ボタンで、フォルダ内ファイルリスト中のテキストファイル、すなわち拡張子が、.txt、.ini、.html、.xml、.cppなどのファイルだけを表示可能です。このテキストファイル拡張子群は、設定ファイル「PortableExplorer.xml」(文字コードUTF-8のテキストファイル)に項目「FilterExt」として保存しており、当ソフトウェアを起動する前に手動で書き換えておくことができます。この拡張子群を書き換えて、EXEファイルやDLLファイルなど実行ファイル群だけを表示させるといった使い方もあります。 さらに、2つのフォルダ内ファイルリストで選択した2つのファイルを指定して、各種比較ツールに比較させることも可能です。この場合は、2つのフォルダ内ファイルリストでそれぞれファイルを選択し、左側か右側のリスト上で選択済みファイル項目をダブルクリックします。処理させる各種比較ツールがまだ指定されていない場合は、比較ツールのEXEファイルのパスを指定する画面を表示します。この指定したパスは、当ソフトウェア終了時に、設定ファイル「PortableExplorer.xml」に項目「CompareToolPath」として保存されますが、当ソフトウェアを起動する前に手動でパスを書き込んでおくことも可能です。この機能で使用される比較ツールには、「WinMerge」や「Rekisa」等を想定しています。2つのフォルダ内ファイルリストでは、有効なフォルダパスが指定されているならば、ファイル項目を右クリックにより、エクスプローラーのコンテキストメニュー(右クリックメニュー)を表示します。 項目「オプション設定」で、エクスプローラーのフォルダや検索の各種設定を行うオプション画面を表示します。 項目「インデックス設定」で、当ソフトウェアで全文検索を使用可能にする際に必要な、検索インデックスの設定を行うオプション画面を表示します。 ●簡易縮小版を表示 「オプションを指定して実行」ボタンの右側にあるチェックボックスがチェックされているならば、そのチェックボックスの右側に、エクスプローラー複製領域で選択されたファイルの縮小版を表示します。この縮小版で表示するのは、実行環境のWindows OSが対応している各種画像・動画ファイルのサムネイルおよび、導入済みのIFilterが対応している各種ドキュメントファイルの先頭文字列です。それ以外のファイルでは、バイナリデータをそのまま文字コードShift-JISで機械的に変換した結果の、先頭文字列を表示します。なお、古い種類の動画ファイル等、ファイルの種類によっては、縮小版表示処理に時間がかかる上に、表示に失敗することがあります。フォルダが選択された場合は、作成日時、更新日時および、そのフォルダに含まれるフォルダやファイルの抜粋といった簡易情報を表示します。 当ソフトウェアの終了時には、このチェックボックスのチェック状況を設定ファイル「PortableExplorer.xml」に保存し、次回起動時にチェック状況を復元します。 この機能は、エクスプローラー複製領域で画面右側にプレビューペインを表示したり、ファイル・フォルダの表示方法を「特大アイコン」や「大アイコン」および「中アイコン」に変更することよりも、さらに簡便な縮小版の確認が行いたい状況を想定して実装しました。実行環境に大きく依存するプレビューハンドラは用いていません。 ●エクスプローラー複製領域の操作/検索 「戻る」・「進む」ボタンは、フォルダ表示履歴を基に表示するフォルダを変更します。表示履歴コンボボックスは、表示したフォルダの一覧を格納し再表示を容易にしますが、検索や「エクスプローラー取り込み」等の処理に伴い内容がリセットされる可能性があります。「上へ」ボタンは表示しているフォルダの一つ上のフォルダを表示します。 画面左側のナビゲーションペインの空白部分で右クリックにより、ナビゲーションペイン上で表示フォルダまで展開する設定にすることもできます。 「検索」ボタンで、同ボタン左側で指定した文字列とオプションを元に、表示しているフォルダ内での検索を行い、該当するファイル/フォルダ名を表示します。 検索オプションの項目「を含む(AQS可)」はワイルドカードの半角「*」に対応しており、たとえば「*.exe」と入力してこのオプションで検索すれば、「*」部分にはどんな文字または文字列が入っているファイル/フォルダ名でも検索に該当します。また、入力文字列中に半角「:」が含まれていれば、入力内容はクエリ構文と判断して、下記の項目「がクエリ構文」扱いで検索処理を行います。 項目「が英語種類名」は、ファイル名や拡張子に限定されない、ファイルの種類で検索するオプションで、たとえば種類名「picture」を指定すると、BMP/JPEG/PNGファイルといったすべての画像ファイルが検索に該当します。「picture」以外では、「music」、「video」、「document」および「program」などが指定可能です。項目「が日本語種類名」は、上記の日本語版で、種類には「ピクチャ」、「音楽」、「ビデオ」、「ドキュメント」および「プログラム」などが指定可能です。 項目「以降の日に更新」は、指定日付以降の日に更新されたファイル/フォルダを検索します。日付指定の例としては「2021/11/14」、「令和3年11月11日」および「令3年11月11日」などとなりますが、「令和」の元号情報が入っていないPCでは、「平成33年11月10日」など平成ベースで指定します。「11/14」といった西暦の月日だけの指定時は、今年の月日として検索します。項目「以前の日に更新」は、指定日付以前の日の更新が検索条件です。 項目「以上のサイズ」と「以下のサイズ」では、基準となるファイルサイズを整数で指定して該当ファイルを検索します。ファイルサイズには、「1024」、「10KB」、「10MB」、「10GB」および「10TB」といった単位の指定が可能です。 項目「を含むタグ」は、Windows上で一部の種類のファイルに個別に設定可能な、タグの文字列を基に検索を行います。このタグは、エクスプローラー複製領域上でファイルを右クリックにより表示できるプロパティ画面の、「詳細」タブ内で入力して設定します。タグが設定可能なファイルは、動画ファイルやJPEGファイルといった一部のメディア関連ファイルや、Word/Excel/Powerpoint用ファイルとPDFファイルなどです。ただし、実行環境などが原因で、タグを設定できないケースもあります。エクスプローラー複製領域上でタグ文字列を表示するならば、ファイルリストの表示形式を「詳細」にした状態で、「名前」や「更新日時」などのカラム部分を右クリックし「タグ」を表示対象に追加選択します。 項目「がクエリ構文」は、「Advanced Query Syntax(AQS)」という構文で指定された検索条件を基に検索を行います。検索条件は「プロパティ:値」という形式で指定し、具体的な検索例は下記を参照願います。Windowsでは、「分類」といったプロパティの指定には、UI言語すなわち日本語を使うことになっています。ただし、Windows OSのバージョンによって、特定の日本語プロパティが使用できないケースもあります。一部の英単語プロパティは例外的に使用可能ですが、さらに当検索機能では、内部的な変換処理により、本来対応していない「filename」、「size」、「ext」(拡張子)、「date」(日付)、「created」(作成日時)、「width」(幅)および「height」(高さ)の英単語プロパティも使用可能にしました。なお、動画ファイルや音声ファイルおよび画像ファイルなどでは、そのフォーマットに応じた、「ビットレート」や「フレーム高」などのプロパティを指定する検索も可能です。この場合、特定種類のファイル検索に使用可能なプロパティ群は、上述の「拡張プロパティ」を取得することで確認できます。ただし、拡張プロパティとして表示される項目の全てがファイル検索に使用可能という訳ではありません。 検索条件として、大文字の「AND」や「OR」および「NOT」を使って、複数の条件を指定することが可能です。複数条件をそのまま半角スペース区切りで並べると「AND」扱いになります。なお、このクエリ構文では、日時の指定に元号など漢字は使用できません。以下のファイル名検索例で、「*」はあらゆる文字または文字列を意味するワイルドカード、「?」は何らかの1文字、「~=」は指定文字列が含まれる、「~!」は指定文字列が含まれない、「~<」は指定文字列が先頭、「~>」は指定文字列が終端という意味で用います。検索文字列にカッコ「( )」が含まれる場合は、検索文字列を引用符""で囲みます。 以下のようなクエリ構文は、「AQS入力補助」ボタンで、入力を容易にする画面を表示します。この画面でクエリ構文を作成し、そのまま検索条件入力欄に入力させることもできます。 ファイル名:NekoharaKiu.exe項目「全文検索(要設定)」は、ファイルの名前や各種プロパティとは別に、ファイルの中身すなわちコンテンツを対象に検索を行います。たとえばテキストファイルならば、テキストに含まれる文字列を検索条件に指定して検索を行います。この全文検索は、項目「を含む(AQS可)」で検索文字列とクエリ構文が指定されている場合や、項目「がクエリ構文」でも行うことができます。なお、Windowsの検索の仕様により、全文検索と、ファイル名など各種プロパティ検索は同時に行われるため、状況に応じてクエリ構文を使い、ファイル名などの検索による不要なヒットを回避します。 特定フォルダで全文検索を行いたい場合は、事前にそのフォルダ内ファイルのインデックス(検索用情報)を構築する必要があります。当ソフトウェアおよびエクスプローラーで全文検索機能を使用するにあたっては、以下の前準備を行います。 1.必要に応じて、全文検索対象ファイルの種類に対応したIFilterの導入 2.検索対象フォルダでインデックスの(再)構築 1のIFilterは、全文検索を行うために必要なプログラムで、TXTファイルなど基本的なファイルの種類に応じたIFilterは、Windows OSに最初から付属しています。しかし、Microsoft Office関連のDOCX、PPTXおよびXLSXファイル用といった、特定ソフトウェアが使用するファイルに応じたIFilterは、Microsoft Officeなどのインストール時に併せて自動で導入されるか、あるいは手動でダウンロードして導入する必要があります。 参考リンク:Microsoft Office 2010 フィルタ パック ※Windows 8以降はサポート外だがWindows 10でも動作する。ZIPファイル用のIFilterを含む。 ネット上では、色々な種類のファイルに対応したIFilterが配布されています。しかし、作者が不明あるいは、匿名で再配布されているIFilterは、マルウェア(悪意のあるソフトウェア)である可能性があるため、導入にあたっては十分な注意が必要です。 Windows OS付属、あるいは導入したIFilterは、以下の手順で確認可能です。 1.当ソフトウェアの「Cmd シェル」が表示されているコンボボックスで「インデックス設定」を選択し、「を起動」ボタン押し下げ 2.表示された「インデックスのオプション」画面の「詳細設定」ボタンから「ファイルの種類」タブで、目的のファイルの種類を選択し、IFilterが適用されていることおよび、「プロパティとファイルのコンテンツのインデックスを作成する」が指定されていることを確認 必要なIFilterが導入されていることが確認できたら、検索対象フォルダを指定してインデックスを(再)構築します。上記「インデックスのオプション」画面の「変更」ボタンから、検索対象フォルダをチェックして「OK」ボタンを押すと、インデックスの構築が始まります。しかし、構築後にさらに「詳細設定」ボタンから「再構築」ボタンでインデックスを再構築しないと、全文検索がうまくいかないことがあるようです。また、ファイルを作成したソフトウェアの違いなどにより、Windows OSに付属する、あるいは導入したIFilterが正常に動作しないケースも想定されます。 全文検索時の検索条件指定では、含まれる文字列をそのまま指定します。複数の文字列をORやANDで指定することもできます。また、含まれる文字列に加えて、クエリ構文も併用が可能です。なお、一部の日本語文字列は正しく検索できないことがあります。その場合は、文字列を引用符""で囲んでから検索してみてください。 キーワードもし、特定フォルダに含まれるテキストファイル群やバイナリファイル群を対象に、含まれる文字列やバイト列を検索したいならば、上記「青空白猫で開く」ボタンで汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」を起動してから、「YARAルールでスキャン」機能でも対処可能です。同様に、「文字コード別文字列抽出」機能で、指定バイナリファイルに含まれる文字列を一覧表示することも可能です。 「検索」ボタンを右クリックで、検索結果をリセットして再検索が可能な状態にします。また、Shiftキーを押しながら「検索」ボタン押し下げで、エクスプローラーの検索画面を表示します。オプションの項目「を含む(AQS可)」あるいは「がクエリ構文」が選択され、かつ検索条件としてクエリ構文が入力されているならば、エクスプローラーでそのクエリ構文を指定して検索を行います。 ●最前面表示/バージョン情報 「前面」チェックボックスで、当ソフトウェアのウィンドウの最前面表示と通常表示を切り替えます。「バージョン情報」ボタンで、当ソフトウェアのバージョン情報を表示します。 ●設定保存 当ソフトウェアの終了時には、ウィンドウの位置、サイズ、最大化状態および、直近に表示した有効なフォルダパスを、設定ファイル「PortableExplorer.xml」(文字コードUTF-8のテキストファイル)に保存し、次回起動時に自動で反映させます。なお、この設定ファイル内の項目「WinTitle」を手動で書き換えれば、当ソフトウェアのウィンドウタイトルを変更することができます。 ●ジャンプリスト 当ソフトウェアの実行時には、タスクバー上のアイコンを右クリックから、『うさみみハリケーン』および付属ソフトウェア群を起動することができます。ただし、この起動はエクスプローラー経由、すなわち常にユーザー権限での起動となります。 |
開発補足
本来のエクスプローラーの画面上にある、「BreadcrumbBar」や「パスバー」などと呼ばれる、階層型のパス指定用コントロールは、開発段階で実験的に実装しましたが、最終的に実装は見送りました。これは、エクスプローラの複製領域左側にナビゲーションペインがあることや、特定フォルダに含まれる、膨大な数のフォルダをリスト表示する際にフリーズ状態になりかねないことなどが理由です。 また、Windows 11では、コントロールの背景ブラシ等に関連する深刻なバグが見受けられたため、当ソフトウェアのユーザーインターフェイスでは、視認性よりも安全性を優先し、バグの影響を受けないように設計しました。 |