DMMその他検索スクリプト

概要

型番をファイル名に持つファイルを、DMMから検索したタイトルと出演者情報でリネームし、かつ同じ名前でパッケージ画像を保存するPowerShellスクリプトです。
また、同じ仕組みでほかのいくつかのサイトを検索する亜種を作成してあります。

同様の既存ツールについて

PowerShellに興味があったのと、*たまたま*そういう需要があったので作成したのですが、あとあと検索したところ実は同種のソフトウェアがすでに存在することに気がつきました。
しかしながらそもそも作成目的が「作業の効率化・高速化(横着ともいう)」であったため、GUIで多機能なものよりコマンドラインからまとめて処理できる単機能の方が便利なこともあるということで、先達に敬意を表しつつあえて公開することにします。

サポートその他について

このソフトウェアは自分の需要に基づき作った「ついで」の公開であり、そもそも積極的に機能を追加したりするつもりはありません。
スクリプトであることから、ソースコードそのものを公開していますので、もし機能や使い勝手といった面で不満があるようでしたら、どうぞご自由に改造するなりしていただければと思います。

使い方

まず第一にPowerShellの導入が必要です。
Windows 7以降ではあらかじめインストール済みのはずですが、XP/VistaではWindows Updateなどからインストールする必要があります。

スクリプトは、Windowsの右クリックメニュー「送る」(SendTo)に登録して使うことを想定しています。
「送る」への登録の仕方はOSのバージョンによって若干違いますが、「ファイル名を指定して実行」(WindowsXPの場合)や「プログラムとファイルの検索」(Windows7の場合)で「shell:sendto」と入力してエンターを押すと対象フォルダが勝手に開きます。
この開いたフォルダにショートカットを作成することで「送る」に表示されるようになります。

ショートカットを作成する場合のコマンドラインは以下を推奨します。(パス部分は実際のパスにあわせてください。)
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -file c:\tools\dmm\dmm.ps1
名前は適当につけてください。作者は「型番検索(検索サイト名)」にしてます・・・

なお、PowerShellはデフォルト状態ではスクリプトの実行が禁止されています。
許可するためには管理者権限でPowerShellを起動し、以下のコマンドを実行します。
Set-ExecutionPolicy RemoteSigned
※x64版Windowsを使用している場合は、使用するPowerShellのバージョン(x86/x64)ごとにそれぞれ許可する必要がありますので、注意してください。

検索の仕方

検索&リネームしたいファイルを右クリックし、「送る」-「(登録したスクリプトへのショートカット名)」で検索が始まります。
1つだけヒットすればその場でリネームされ、複数ヒットした場合は選択ダイアログが表示されます。
ヒットしなければそのまま閉じます。

検索がヒットした場合の動作

検索した結果、タイトルがヒットした場合の動作は以下の通りです。
1.1個だけタイトルがヒットした場合
リネームおよびパッケージ画像の保存が行われます。
ただし、ミスヒット時のフォローとして型番の照合を行い、ファイル名の型番とヒットした型番に不整合がある場合は複数ヒット時と同様のダイアログが表示されます。
2.複数ヒットした場合
タイトルの選択ダイアログが表示されます。
ヒットしたタイトルの型番とファイル名の型番の照合を行い、一致するもののみ表示され、それらは赤い文字になります。
照合の結果一致しなかったものは非表示になっていますが「一致のみ」のチェックを外すと表示できます。
タイトルを選択して「OK」が押されれば、リネームとパッケージ画像の保存が行われます。
「CANCEL」が押されると、そのタイトルはスキップされます。

命名規則について

このスクリプトのファイル名命名規則は以下の通りとなっています。
型番 タイトル 出演者[/出演者2....]
この命名規則はあくまで自分用ですので、2011/06現在の作者の好みが基準になっています。
ファイル名の生成部分を修正すれば、お好みの命名規則をつくることも可能です。

型番とファイル名の考え方について

このスクリプトでは、型番およびファイル名は以下の法則に基づいています。
基本的な型番のスタイルは「ABC-123」
アルファベット数文字から始まる型番の基底部と、ハイフンを挟んで通し番号の数字が続く。
この法則から外れる型番を自動でつけるためには、後述の固定変換テーブルに追加する必要があります。
基本的な型番の後に続く「A〜Z」は、添え字として扱う
一つのタイトルを分割されていると考え、添え字として一桁の「A〜Z」を許容します。添え字はリネーム後のファイル名にも引き継がれます。

おまけ機能

横着を追求するため、以下のようなおまけ機能がついています。
ファイル名からの特定文字列削除
ファイル名に特定の文字列を含むと、それを削除して判定します。
ファイル名の静的変換
ファイル名が特定のパターンの時、変換してリネームします。
型番の静的変換
パッケージの型番が特定のパターンの時、変換してリネームします。
いずれもあまり高度なことはできませんので、一括リネームツールなどで変換してから使うことも検討してください。

動作上の制限について

現在、以下の制限があります。
1.複数ページにまたがる検索結果を表示できない
深い理由はなく、ただ単に手抜きで対応していないだけです。
そのうち対応しようとは思っていますが、気分次第なので何らかの約束をするものではありません。
→DMMのみ対応してみました
2. ミスヒットする可能性がある
検索対象サイト(たとえばDMM)に登録されていないタイトルを検索した場合に、同じ(あるいは類似)型番で別タイトルの作品があるとミスヒットする場合があります。
3. 検索対象サイトの仕様変更
スクリプトの中では、ブラウザから検索するのとほぼ同様の手順で検索し、得られたページ内容を解析しています。
たまにではありますが、検索対象サイトのリニューアルによって検索結果の表示方法に変更があったりしますので、その場合は検索不能になる場合があります。
4. 検索対象サイトについて
検索しやすく、かつタイトルの充実しているサイトを選んでいます。
検索対象サイトに対してはできるだけ無駄な負荷はかけないようにしていますが、あまりご迷惑をおかけするようであれば公開をやめる場合があります。
また、もし使用者がそういった作品類の買い物などをされるようでしたら、ぜひ検索対象サイトを利用してあげてください。

ダウンロード

サイトスクリプト更新日備考
DMMdmm.ps12017/3/13実質工□専用
ドンデッチdondetch.ps12017/03/13主にアイドルもの検索用
あるぞんarzon.ps12016/11/08工□/アイドル両方対応
※一部漢字検索しています。UTF-8(BOM付き)で保存してください
共通設定ファイルsetting.ps12014/10/26各サイト共通の設定ファイル。各スクリプトと同じフォルダにおいてください
共通関数ファイルcommon.ps12016/11/11各サイト共通の関数ファイル。各スクリプトと同じフォルダにおいてください
※右クリックして「名前をつけて保存」してください。そのままクリックするとセキュリティ警告が出る場合があります。
 また、保存後にファイルのプロパティで「ブロックの解除」をしてください。解除しないとスクリプトが読み込まれません。
 共通設定・共通関数もあわせて配置してください。

注意事項および免責

今後の予定

複数ページへの対応
気が向いたら。(→やや気が向いたっぽいです。DMM/あるぞんのみ対応しました。)