|
こんばんは。
簡単ですが、スクリプトを作ってみました。
ただし、現状、ファイルはゴミ箱に入らずに、完全に削除されてしまうため、間違
ったファイルを削除すると、基本的に復旧できません。
そのため、必ず削除対象のファイルが間違っていないかどうか事前に確認したうえ
で、削除を行ってください。
個人的には事前にバックアップを取っておくことをお勧めします。
下記のスクリプトを適当なファイル名で保存して、「ツール」→「ツールの整理」
から登録し、削除したいファイルを選んだ状態で、「ツール」メニューから実行して
ください。
なお、スクリプトのファイルはJScriptで記述しているので、拡張子を「js」、文
字コードを「Shift-JIS」として保存してください。
----- スクリプト -----
// 秀丸ファイラーClassic用スクリプト
// 機能:
// ファイルの削除を行って、その後にファイルを選択します。
// 変数定義
var MB_OK = 0;
var MB_OKCANCEL = 1;
var MB_STOPRETRYIGNORE = 2;
var MB_YESNOCANCEL = 3;
var MB_YESNO = 4;
var MB_RETRYCANCEL = 5;
var MB_ICONSTOP = 16;
var MB_ICONQUESTION = 32;
var MB_ICONEXCLAMATION = 48;
var MB_ICONINFORMATION = 64;
strWScriptType = typeof( WScript );
if (strWScriptType.toLowerCase() == "object"){
strMsg = "このスクリプトは秀丸ファイラーClassic専用です。\n" +
"「ブックマークの整理」または「ツールの整理」で「追加」して、パスの右側の
「>>」ボタンの「スクリプトの参照」より、このファイルを指定して登録してくださ
い。\n"+
"(パスの先頭に「script:」と書かれたパスとして登録)";
dialog(strMsg, MB_ICONEXCLAMATION, "エラー");
WScript.Quit();
}
curdir = getDirectory();
if (curdir == ""){
EndMacro();
}
iItem=GetNextItem(-1,2);
if (iItem < 0){
EndMacro();
}
s = [];
p = [];
firstItem = iItem;
while( iItem >= 0 ) {
s.push(GetItemPath(iItem));
p.push(GetItemText(iItem));
lastItem = iItem;
iItem=GetNextItem(iItem,2);
}
len = s.length;
if (len == 1){
title = "ファイルの削除";
body = "「"+p[0]+"」を削除してもよろしいですか?";
}else{
title = "複数ファイルの削除";
body = "これらの "+len+" 個のファイルを削除してもよろしいですか?";
}
result = dialog(body, MB_ICONQUESTION | MB_YESNO, title);
if (result != 6){
EndMacro();
}
fso = new ActiveXObject("Scripting.FileSystemObject");
for (var i = 0, len = s.length; i < len; ++i){
if (GetPathType(s[i]) == 1){
fso.DeleteFile(s[i], true);
}else if (GetPathType(s[i]) == 2){
fso.DeleteFolder(s[i], true);
}
}
Refresh(0);
if (GetItemCount() == 0){
EndMacro();
}
if (firstItem + 1 > GetItemCount()){
firstItem = GetItemCount() - 1;
}
SelectItem(firstItem);
function GetPathType(path){
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FileExists(path)){
return 1;
}else if (fso.FolderExists(path)){
return 2;
}else{
return 0;
}
fso = null;
}
function dialog(body, flg, title){
var WshShell = new ActiveXObject("WScript.Shell");
var stat = WshShell.Popup(body, 0, title, flg);
return stat;
}
----- スクリプトここまで -----
以上、参考になれば幸いです。
|
|