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