删除当前使用的壁纸

      Win7中集成了壁纸自动换的功能,赞一个先。话说有一天本人从VeryCD下载了一个壁纸包,1000多张全是游戏壁纸,直接设置为自动更换。很多很漂亮的壁纸,不过也有一些不喜欢的。难道一个个删除,OMG。或者等Win7切换到自己不喜欢的壁纸时再去删除,1000多张啊,找死人了。遂起了贼心,写了个脚本,直接删除当前使用的壁纸。

 

      脚本文件(DeleteWallpaper.js)

 

//设置部分
//用户名,当前系统登录用户名
var userName = "wilford" ;
//包含壁纸的文件夹
var folders = new Array ();
folders . push ("F://宽屏壁纸" );

var fso = new ActiveXObject ("Scripting.FileSystemObject" );
var f1 = fso . GetFile ("D://Users//" + userName + "//AppData//Roaming//Microsoft//Windows//Themes//TranscodedWallpaper.jpg" );
var fileDelNum = 0 ;
var fileDel = "" ;
for ( i   = 0 ; i < folders . length ; i ++ )
{
    var folder = fso . GetFolder (folders [ i ]);
    var iter = new Enumerator (folder . files );
    for (; ! iter . atEnd (); iter . moveNext () )
    {
        var file = iter . item ();
        if (f1 . size == file . size )
        {
            fileDelNum ++;
            fileDel += file . Path + "/r/n" ;
            file . Delete ();
        }
    }
}
var dt = new Date ();
var log = "-----" + dt . toLocaleString () + " 删除文件" + fileDelNum + "个" + "-----/r/n" ;
log += fileDel ;
log += "/r/n" ;
//将日志记录到文件
logFile = fso . OpenTextFile ( "DeleteWallpaper.log" , 8 , true );
logFile . Write ( log );
logFile . Close ();
WScript . Echo ( log );


      再方便一点,可以建个快捷方式,放到开始菜单里,再设上快捷键。


     目前还有两个缺点:

     1.这个方法是使用文件大小来判断是否是同一个文件。虽然两张图片的文件大小完全一样的几率并不高,但这毕竟不是一个可靠的方法。谨慎一点可以考虑MD5,或者逐字节对比。

     2.这个方法只对JPG格式的文件有效,其他格式如PNG,Windows在拷贝过去后会转换为JPG,这样文件大小就不同了。要解决这个问题,貌似只能从图像的层面去对比了。这个属于比较高深的技术,本人没有研究过。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值