清除多余的歌词文件

来源:互联网 发布:易语言播放器源码 编辑:程序博客网 时间:2024/05/01 10:07

      听歌的时候经常会将一些不再听的歌删掉,这个操作一般是在播放器里完成的,时间久了就会留下很多不再需要的歌词文件。虽说歌词文件并不占空间,但心里总是不爽,想把它清理掉。动手干吧。

     脚本文件(ClearLrc.js)

function HandleFile( fileName )
{
    baseName = fso.GetBaseName( fileName );        //文件名
    extName = fso.GetExtensionName( fileName );    //扩展名
    if( extName.toLowerCase() != "lrc" )    //不是歌词文件
    {
        return;
    }
    //寻找对应的mp3文件
    songFileName = baseName + ".mp3";
    hasFile = fso.FileExists( dir + "//" + songFileName );
    if( !hasFile )    //无MP3文件,寻找WMA
    {
        songFileName = baseName + ".wma";
        hasFile = fso.FileExists( dir + "//" + songFileName );
        if( !hasFile )    //无WMA,删除歌词,记录日志
        {
            fso.DeleteFile( dir + "//" + fileName );
            fileDelNum ++;
            fileDel += fileName + "/r/n";
        }
    }
}

try
{
    dir = WScript.Arguments(0);
}
catch(e)
{
    dir = ".";
}
dt = new Date();
log = "";
fileDelNum = 0;
fileDel = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
fld1 = fso.GetFolder(dir);
fc = new Enumerator( fld1.files );
for (; !fc.atEnd(); fc.moveNext())
{
    HandleFile( fc.item().Name )
}
log = "-----" + dt.toLocaleString() + " 删除文件" + fileDelNum + "个" + "-----/r/n";
log += fileDel;
log += "/r/n";
//将日志记录到文件
logFile = fso.OpenTextFile( dir + "//" + "ClearLrc.log", 8, true );
logFile.Write( log );
logFile.Close();
WScript.Echo( log );

 

    现在这个文件已经可以清理它自己所在目录的歌词了。但还是不够方便,下面就把它加入到右键菜单里去。

    在注册表中新建下面的值:

     HKEY_CLASSES_ROOT/Directory/Background/shell/ClearLrc   默认: 清理歌词(&B)

     HKEY_CLASSES_ROOT/Directory/Background/shell/ClearLrc/command 

     默认:WScript E:/自给自足/实用脚本/ClearLrc.js

 

     HKEY_CLASSES_ROOT/Directory/shell/ClearLrc   默认: 清理歌词(&B)

     HKEY_CLASSES_ROOT/Directory/shell/ClearLrc/command 

     默认:WScript E:/自给自足/实用脚本/ClearLrc.js

 

    OK,搞定了。

 

    PS: 该脚本未经严格测试,产生的后果本人概不负责。

    PS again: Win7真的挺好用。

原创粉丝点击