zipファイルからthumbファイルを削除するたった一つの方法

zipファイルからthumbファイルを削除するたった一つの方法

 ZIPファイルを固めるときにThumbファイルというサムネイル表示用のキャッシュファイルが残るのが嫌ですよね。そんな時のソリューションです。




使い方

  • 7za_dr.jsという空のJSファイルに以下のソースコードをコピペして保存
  • 7za_dr.jsを7Zipと同じフォルダ内にコピー。
  • スタンドアローン版を利用の場合は7za.exeの方を有効化して7z.exeの方をコメントアウト
以上。

ソースコード

var fso = new ActiveXObject("Scripting.FileSystemObject");



function enumFiles(target, callback) {
var fso = new ActiveXObject("Scripting.FileSystemObject");
 if (fso.FileExists(target)) {
   callback(fso.getFile(target)); return;
 }
 if (!fso.FolderExists(target)) return;
 // 指定パスのファイル一覧を得る
 var dir = fso.GetFolder(target);
 _enum(dir);
 function _enum(dir) {
   // ファイルを一つずつ処理する
   var e = new Enumerator(dir.Files);
   for ( ; !e.atEnd(); e.moveNext()) {
     var file = e.item();
     callback(file);
   }
   // 再帰的にディレクトリを処理する
   e = new Enumerator(dir.SubFolders);
   for ( ; !e.atEnd(); e.moveNext()) {
     var sdir = e.item();
     _enum(sdir);
   }
 }
}

var objArgs = WScript.Arguments;



for (i = 0; i < objArgs.length; i++)
{

  enumFiles(objArgs(i),function(f){
       if(-1!=f.Name.indexOf(".zip",0)){
           //  Shell関連の操作を提供するオブジェクトを取得
           var sh = new ActiveXObject( "WScript.Shell" );
           var fso = new ActiveXObject("Scripting.FileSystemObject");
           var fulldir = fso.getParentFolderName(WScript.ScriptFullName);

          var delete_files=new Array("thumbs.dc","thumbs1.dv","thumbs2.db","Thumbs.db");
           
           for(j=0;j<delete_files.length;j++){
               //var str = "\""+fulldir+"\\7za.exe\" d \""+ f.Path +"\" "+delete_files[j]+" -r";
               var str = ".\\7z.exe d \""+ f.Path +"\" "+delete_files[j]+" -r";
               
               sh.Run(str,1,true); 
           
               //WScript.Echo(str);
           }
       }
       
   
   
   });

}

  • 最終更新:2018-06-24 08:21:04

このWIKIを編集するにはパスワード入力が必要です

認証パスワード