Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////////////////////////////////////////////////////
- //
- // ファイル名を受け取って[]内をEveryThingで検索する JScript (Windows)
- //
- // [使い方]
- // wscript.exe <スクリプトファイル名> <ファイルパス|ファイル名>
- // cscript.exe <スクリプトファイル名> <ファイルパス|ファイル名>
- //
- // ・*.jsに検索したいファイルをドロップ、「送る」に登録して検索したいファイルを渡す
- // ・ファイル名またはフォルダ名は"[作者名] タイトル ..."、"(カテゴリ) [作者名] タイトル ..."
- // みたいな感じを想定
- // ・EveryThingのパスを↓のeverything_pathにセット(\は\\に置き換え)
- //
- //////////////////////////////////////////////////////////////////
- var everything_path = "c:\\program files\\Everything\\Everything.exe";
- //////////////////////////////////////////////////////////////////
- String.prototype.trim = function(){return this.toString().replace(/^\s*|\s*$/g,'');}
- var search_word = "";
- var filename = WScript.Arguments.Item(0);
- if (filename != "")
- {
- var r1 = filename.match(/^(.+?)\\[^\\\/]+\/.+$/);
- if (r1) filename = r1[1];
- // WScript.Echo(filename);
- filename = filename.substring(filename.lastIndexOf('\\') + 1);
- //[201010][KURI] IA~ズ体験~されて [RJ310000]
- //[201130][テン]夏まで The Animation 上巻(No Watermark).mp4
- r1 = filename.match(/.*?\[\d+\].*?\[([^\]]+)\]/);
- if (!r1) r1 = filename.match(/.*?(?:\[\d+\])?.*?\[([^\]]+)\]/);
- if (r1)
- {
- search_word = r1[1];
- // [アンソロジー] or [雑誌] なら次の単語を検索ワードに設定
- if (search_word == "\u30A2\u30F3\u30BD\u30ED\u30B8\u30FC" //"アンソロジー"
- || search_word == "\u96D1\u8A8C") //"雑誌"
- {
- // [雑誌] COMIC or [雑誌] コミックは飛ばして次の単語を検索ワードを設定
- var r2 = filename.match(/.*?(?:\[\d+\])?.*?\[[^\]]+\] *(?:(?:COMIC|\u30B3\u30DF\u30C3\u30AF) *)?([^ ]+)/i); //"コミック"
- if (r2) search_word += " " + r2[1];
- }
- else
- {
- // var authors = r[1].split(/(\&|&|×|\,|、|,|/)/g);
- // var authors = search_word.split(/(\&|\uFF06|\u00D7|\,|\u3001|\uFF0C|\uFF0F)/g);
- // var x = search_word.split(/\(|\)|\u00D7|\uFF06/); // "×" "&"
- var x = search_word.split(/\(|\)|\&|\uFF06|\u00D7|\,|\u3001|\uFF0C|\uFF0F/);
- var y = [];
- // for (var i in x) if (x[i] != '' && x[i] != ' ') y.push(x[i]); // filter()/grep()が無い
- // search_word = y.join(" \| ");
- for (var i in x)
- {
- var t = x[i].trim();
- // if (t.indexOf(' ')!=-1)
- // t = '<'+t+'>';
- if (t != '') y.push(t); // JScriptにはfilter()/grep()が無い
- }
- search_word = y.join("|");
- }
- }
- else if (r1 = filename.match(/^(\([^\(]+\) *)*(COMIC ?)*([^ ]+).+?\..+$/))
- search_word = r1[3];
- if (search_word != '')
- {
- var commandline = "\"" + everything_path + "\" -search \"" + search_word + "\"";
- var sh = new ActiveXObject("WScript.Shell");
- // sh.Run( everything_path + " -s \"" + search_word + "\"" );
- // WScript.Echo(commandline);
- sh.Run( commandline );
- sh = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement