|
>>----------------------------------------------------------------
>>削除するデータのファイルがあって、
>>それを原本のファイルから削除できれば良いのですか ???
>>----------------------------------------------------------------
>>
>>まったくその通りです
>>
>----------------------------------------------------------------
>追加です、、、
>原本のファイルがあって削除するデータファイルがあって
>原本のファイルから削除する場合に、万が一原本にはない
>アドレスがあって削除できなかった場合に、どの
>アドレスが削除できなかったのかも判断できるのでしょうか?
//*5 KZ_MtDel1.mac - 1999/09/30 - K.Nakatake
// 連続削除マクロ
// 削除の対象となるファイルを開いてこのマクロを実行する。
// 先頭はダミーのデータ、または改行だけを入れてください。
// 削除メタデータファイル ==> directory2 + "\\DelMeta1.txt" - カレントディ
レクトリ。
// 改行だけのデータを入れないでください。
if( code == 0x09 ){ endmacroall; } // debug
$searchbuffer = searchbuffer; #searchoption = searchoption;
$str_f1 = filename2;
if( ! selecting ){
gofiletop; #x_start = x; #y_start = y;
} else {
#x_start = seltopx; #y_start = seltopy;
}
while( true ){
if( $str_f2 == "" ){
$str_f2 = directory2 + "\\DelMeta1.txt";
}
$str_f2 = input("削除メタデータファイルを指定してください ?",$str_f2);
if( ( ! result ) || $str_f2 == "" ){ endmacro; }
if( existfile($str_f2) ){ // ファイルの存在チェック
break;
}
}
setclipboard "";
if( findhidemaru($str_f2) == -1 ){
openfile "/h " + $str_f2; #sw_f2 = 1; // こちらのほうが速いです。
// openfile $str_f2; #sw_f2 = 1;
} else {
#handle2 = hidemaruhandle( findhidemaru( $str_f2 ) );
setactivehidemaru #handle2;
}
gofiletop; // $str_f2
while( code != eof ){
beginsel; golineend2;
$wk1 = gettext(seltopx,seltopy,selendx,selendy); escape;
right;
#handle1 = hidemaruhandle( findhidemaru( $str_f1 ) );
setactivehidemaru #handle1;
title $wk1 + " - を処理中です";
call pp_s1;
//T disableinvert; disabledraw;
#handle2 = hidemaruhandle( findhidemaru( $str_f2 ) );
setactivehidemaru #handle2;
}
#handle1 = hidemaruhandle( findhidemaru( $str_f1 ) );
setactivehidemaru #handle1;
if( #sw_f2 ){
closehidemaruforced hidemaruhandle(findhidemaru($str_f2));
}
moveto 0, #y_start;
enableinvert; enabledraw; title 0;
message str(#del) + " - 件を削除しました。";
if( #del_n ){
message str(#del_n) + " - 件は削除出来ませんでした。";
}
setsearch $searchbuffer, #searchoption;
endmacro;
pp_s1:
gofiletop;
while( true ){
searchdown $wk1;
if( ! result ){
// enableinvert; enabledraw;
message $wk1 + " - は見つかりませんでした !";
addclipboard $wk1 + "\n"; // クリップボードに書いておく
#del_n = #del_n + 1;
return 1;
} else {
if( x == 0 ){
beginsel; golineend2;
$wk2 = gettext(seltopx,seltopy,selendx,selendy); escape;
if( $wk1 == $wk2 ){
deleteline; #del = #del + 1;
return 0;
}
}
}
}
return 0;
// end of macro.
こんなマクロになると思います。テストしてください。
|
|