|
ごみ箱に入れない削除のコマンドとして、キー割り当てに「削除(ごみ箱に入れな
い)」がありますが、これは常に問い合わせが出るものになっています。
Windowsのエクスプローラと同等削除処理を使わず直接削除するという設定やコマン
ドはありません。
直接削除するには、スクリプトでなんとかする方法があります。
FileSystemObjectを使って削除すると素早く削除できると思います。(長いので後で
書きます)
または、コンテキストメニューの特定の項目をキー割り当てする方法もあります。
適当なファイルを選んだ状態で、ブックマークやツール項目の追加で、パスの部分の
右の「>>」をクリックして、「コマンド(コンテキストメニュー)(7)...」を選びます。
するとコンテキストメニューの候補が出るので、例えば「削除 (FastCopy)」を選ぶ
と、一行のスクリプト化されます。
ブックマークやツール項目をキー割り当てしておくと、メニューを出さずにすぐに呼
べます。
キー割り当ては、[ツール]→[キー割り当て...]でもできますが、順番が入れ替わっ
たりでずれる可能性があるので、ブックマークのプロパティでキー割り当てしたほう
が安全です。
ブックマークのプロパティで「オプション(O)>>」ボタンを押すと、そこでキー割り
当てができます。
---------------
●FileSystemObjectを使ったスクリプトで削除する例
ブックマークまたはツール項目で、パスの部分に例えば「js:C:\Test\Deletefile.j
s」としておきます。
C:\Test\Deletefile.jsというファイルの内容は以下のようにします。
//Deletefile.js
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
var c = GetSelectedCount();
if( c == 0 ) {
Message("選択がありません");
EndMacro();
}
var aFiles = new Array(c);
var iFile = 0;
var iFocus = GetNextItem(-1,1);
var cItemBeforeFocus = 0;
var iItem = GetNextItem(-1,2);
var fErr = 0;
while( iItem >= 0 ) {
var strPath = GetItemPath( iItem );
if( strPath == "" ) {
fErr = 1;
break;
}
aFiles[iFile] = strPath
if( iItem < iFocus ) {
cItemBeforeFocus ++;
}
iItem = GetNextItem( iItem, 2 );
iFile ++;
}
iFile = 0;
while( iFile < c ) {
var strPath = aFiles[iFile];
if( objFSO.FolderExists( strPath ) ) {
objFSO.DeleteFolder( strPath );
} else {
objFSO.DeleteFile( strPath );
}
iFile ++;
}
if( fErr ) {
Command("削除");
}
Refresh( 1 );
SelectItem( iFocus - cItemBeforeFocus ); //元のフォーカスに近い場所を選択す
る場合
|
|