home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 2002 July
/
VPR0207A.ISO
/
OLS
/
IRVINE0_4_1A
/
irvine0_4_1a.lzh
/
scripts
/
listrenamefile.dms
< prev
next >
Wrap
Text File
|
2002-02-01
|
2KB
|
96 lines
/*
スクリプト初期化データ
guid={E4D96FCE-D4D9-4FF2-A6D7-9D4BD27C9AE9}
caption=ファイル名を連番変更
version=0
hint=選択アイテムのファイル名を連番へ変更します
event=OnListMenuClick
match=
author=Wolfy
*/
function formatDigit(num,digit){
s = num.toString();
if(s.length < digit){
temp = '';
for(i = 0; i < digit - s.length;i++)
temp = temp + '0';
s = temp + s;
}
return s;
}
function extractExt(s){
index = s.lastIndexOf('.');
if(index > -1){
return s.slice(index + 1,s.length - 1);
}
else
return '';
}
function OnListMenuClick(irvine,action){
//キューリストメニューのクリックイベント
item = new IrvineItem;
//終わり
if(irvine.SelectedItemCount == 0)
return;
//カレントフォルダ名
folder = irvine.CurrentQueueFolder;
index = folder.lastIndexOf('/');
folder = folder.slice(index + 1,folder.length - 1);
//接頭語を得る
head = prompt('変更後のファイル名の先頭を入力してください。空白を入力するとクリアします。',folder);
//終わり
if(head == null){
return;
}
else if(head == ''){
//何もしない
}
else{
start = prompt('最初の数字を入力してください','000');
//終わり
if(!start || isNaN(start))
return;
//桁
digit = start.length;
start = parseInt(start);
}
flag = false;
irvine.BeginProgressBar(irvine.SelectedItemCount);
try{
for(i = 0; i < irvine.ItemCount; i++){
if (irvine.ItemSelected[i]){
item.data = irvine.Items[i];
if(head == ''){
item.filename = '';
}
else{
ext = extractExt(item.url);
item.filename = head + formatDigit(start++,digit) + '.' + ext;
}
irvine.Items[i] = item.data;
irvine.ProgressBarStepBy(1);
flag = true;
}
}
}
finally{
irvine.EndProgressBar();
if(flag)
irvine.Invalidate();
}
}
function OnMenuUpdate(irvine,action){
//メニューの更新イベント
action.enabled = (irvine.SelectedItemCount > 0);
}