Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // cover.jpg削除.js
- //
- // 00001.jpgなど先頭ファイルがcover.jpgと同一の場合
- // 重複ファイルである"cover.jpg"を削除する
- // (同一判定はファイルサイズのみ)
- //
- // cscript.exe <cover.jpg削除.js> <フォルダパス> <フォルダパス> <フォルダパス> ...
- //
- // 引数で渡されたフォルダたちを再帰的にcover.jpgを探して処理していく
- //
- function deleteCover(_path, _fso)
- {
- if (!_path || !_fso) return;
- if (!_fso.FolderExists(_path)) return;
- var dir = _fso.GetFolder(_path);
- var e = new Enumerator(dir.Files);
- {
- var cover_page_size = -1;
- var cover_page_path = '';
- var first_page_size = 0;
- var first_page_size2 = 0;
- for ( ; !e.atEnd(); e.moveNext())
- {
- var f = e.item();
- if (f.Name == "cover.jpg")
- {
- cover_page_path = f.Path;
- cover_page_size = f.Size;
- }
- else if (/^0*1\./.test(f.Name))
- {
- first_page_size = f.Size;
- }
- else if (/\b00+1\./.test(f.Name))
- {
- first_page_size2 = f.Size;
- }
- }
- if (first_page_size==0)
- first_page_size = first_page_size2;
- if ('' != cover_page_path && first_page_size && cover_page_size == first_page_size)
- {
- _fso.DeleteFile(cover_page_path, true);
- WScript.StdOut.Write('Delete "'+cover_page_path+'"\r\n');
- }
- }
- // 再帰的にディレクトリを処理する
- e = new Enumerator(dir.SubFolders);
- for ( ; !e.atEnd(); e.moveNext())
- deleteCover(e.item().Path, _fso);
- e = null;
- }
- var fso = new ActiveXObject( "Scripting.FileSystemObject" );
- var args = WScript.Arguments;
- for (var c=0;c < args.length;c++)
- deleteCover(args(c), fso);
- fso=null;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement