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 >
Text File  |  2002-02-01  |  2KB  |  96 lines

  1. /*
  2. スクリプト初期化データ
  3. guid={E4D96FCE-D4D9-4FF2-A6D7-9D4BD27C9AE9}
  4. caption=ファイル名を連番変更
  5. version=0
  6. hint=選択アイテムのファイル名を連番へ変更します
  7. event=OnListMenuClick
  8. match=
  9. author=Wolfy
  10. */
  11.  
  12.  
  13. function formatDigit(num,digit){
  14.   s = num.toString();
  15.   if(s.length < digit){
  16.     temp = '';
  17.     for(i = 0; i < digit - s.length;i++)
  18.       temp = temp + '0';
  19.       
  20.     s = temp + s;
  21.   }
  22.   
  23.   return s;
  24. }
  25.  
  26. function extractExt(s){
  27.   index = s.lastIndexOf('.');
  28.   if(index > -1){
  29.     return s.slice(index + 1,s.length - 1);
  30.   }
  31.   else
  32.     return '';
  33. }
  34.  
  35. function OnListMenuClick(irvine,action){
  36. //キューリストメニューのクリックイベント
  37.   item = new IrvineItem;
  38.  
  39.   //終わり
  40.   if(irvine.SelectedItemCount == 0)
  41.     return;
  42.   //カレントフォルダ名
  43.   folder = irvine.CurrentQueueFolder;
  44.   index = folder.lastIndexOf('/');
  45.   folder = folder.slice(index + 1,folder.length - 1);
  46.   //接頭語を得る
  47.   head = prompt('変更後のファイル名の先頭を入力してください。空白を入力するとクリアします。',folder);
  48.   //終わり
  49.   if(head == null){
  50.     return;
  51.   }
  52.   else if(head == ''){
  53.     //何もしない
  54.   }
  55.   else{
  56.     start = prompt('最初の数字を入力してください','000');
  57.     //終わり
  58.     if(!start || isNaN(start))
  59.       return;
  60.     //桁  
  61.     digit = start.length;
  62.     start = parseInt(start);
  63.   }
  64.   
  65.   flag = false;
  66.   irvine.BeginProgressBar(irvine.SelectedItemCount);
  67.   try{
  68.     for(i = 0; i < irvine.ItemCount; i++){
  69.       if (irvine.ItemSelected[i]){
  70.         item.data = irvine.Items[i];
  71.         if(head == ''){
  72.           item.filename = '';
  73.         }
  74.         else{
  75.           ext = extractExt(item.url);
  76.           item.filename = head + formatDigit(start++,digit) + '.' + ext;
  77.         }
  78.         
  79.         irvine.Items[i] = item.data;
  80.         irvine.ProgressBarStepBy(1);
  81.         flag = true;
  82.       }
  83.     }
  84.   }
  85.   finally{
  86.     irvine.EndProgressBar();
  87.     if(flag)
  88.       irvine.Invalidate();
  89.   }
  90. }
  91.  
  92. function OnMenuUpdate(irvine,action){
  93. //メニューの更新イベント
  94.   action.enabled = (irvine.SelectedItemCount > 0);
  95. }
  96.