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