Advertisement
usamimi2323

cover.jpg削除.js

Dec 15th, 2023 (edited)
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.67 KB | Source Code | 0 0
  1. //
  2. // cover.jpg削除.js
  3. //
  4. // 00001.jpgなど先頭ファイルがcover.jpgと同一の場合
  5. // 重複ファイルである"cover.jpg"を削除する
  6. // (同一判定はファイルサイズのみ)
  7. //
  8. // cscript.exe <cover.jpg削除.js> <フォルダパス> <フォルダパス> <フォルダパス> ...
  9. //
  10. // 引数で渡されたフォルダたちを再帰的にcover.jpgを探して処理していく
  11. //
  12.  
  13. function deleteCover(_path, _fso)
  14. {
  15.     if (!_path || !_fso) return;
  16.     if (!_fso.FolderExists(_path)) return;
  17.    
  18.     var dir = _fso.GetFolder(_path);
  19.    
  20.     var e = new Enumerator(dir.Files);
  21.     {
  22.         var cover_page_size = -1;
  23.         var cover_page_path = '';
  24.         var first_page_size = 0;
  25.         var first_page_size2 = 0;
  26.        
  27.         for ( ; !e.atEnd(); e.moveNext())
  28.         {
  29.             var f = e.item();
  30.             if (f.Name == "cover.jpg")
  31.             {
  32.                 cover_page_path = f.Path;
  33.                 cover_page_size = f.Size;
  34.             }
  35.             else if (/^0*1\./.test(f.Name))
  36.             {
  37.                 first_page_size = f.Size;
  38.             }
  39.             else if (/\b00+1\./.test(f.Name))
  40.             {
  41.                 first_page_size2 = f.Size;
  42.             }
  43.         }
  44.        
  45.         if (first_page_size==0)
  46.             first_page_size = first_page_size2;
  47.        
  48.         if ('' != cover_page_path && first_page_size && cover_page_size == first_page_size)
  49.         {
  50.             _fso.DeleteFile(cover_page_path, true);
  51.             WScript.StdOut.Write('Delete "'+cover_page_path+'"\r\n');
  52.         }
  53.     }
  54.     // 再帰的にディレクトリを処理する
  55.     e = new Enumerator(dir.SubFolders);
  56.     for ( ; !e.atEnd(); e.moveNext())
  57.         deleteCover(e.item().Path, _fso);
  58.     e = null;
  59. }
  60.  
  61. var fso = new ActiveXObject( "Scripting.FileSystemObject" );
  62.  
  63. var args = WScript.Arguments;
  64. for (var c=0;c < args.length;c++)
  65.     deleteCover(args(c), fso);
  66.  
  67. fso=null;
  68.  
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement