クリップボードのURLからURLファイルを作成する

8298 ワード

タイトルの通り。

script/pasteUrl.js9
//!*script
// クリップボードのURLからURLファイルを作成する。
// PPx 1.84+1 x64 + Script Module R18

// クリップボードにURLが入っていなかったらメッセージを表示して終了
var url = PPx.Extract('%*clippedtext()');
if (!url.match(/^(file|ftp|http):/i)) {
  linemessage('クリップボードにURLがありません。');
  PPx.Quit(-1);
}

// ファイル名が重複していたらメッセージを表示して終了
var filename = PPx.Arguments.Item(0);
var fso = new ActiveXObject('Scripting.FileSystemObject');
if (fso.FileExists(filename)) {
  linemessage('同名のファイルが存在しています。: ' + filename);
  PPx.Quit(-1);
}

// URLファイルを作成
var prefix = "[InternetShortcut]\nURL=";
var content = prefix + url;

var fw = fso.CreateTextFile(filename, false);
fw.WriteLine(content);
fw.Close();

function linemessage(message) {
    var basename = PPx.ScriptName.split(/[\\/]/).pop();
    PPx.Execute('*execute C,*logwindow "' + basename + ': ' + message + '"');
}

Alt+K に登録。

PPx.CFG
KC_main	= {
&K	,*script %0script\pasteUrl.js9,%*input(".url" -title:"クリップボードのURLからURLファイルを作成" -select:t)
}