比如百度网盘某目录下存有如下文件:

要求:将如上图文件目录下的文件,每个月只保留最后(新)一个(根据文件名中包含的日期),其它删除。
比如7月份有3个文件,只保留2019-07-21那天的文件,删除7月份的其它2个。
代码实现步骤:
1、获取当前目录名称:“CZSX030A”
2、遍历获取每个文件名中包含的日期,如“CZSX030A_20190721000002.bak”-->"201907"
3、模拟点击事件,选中每个月份中除了第一个文件

var temptime = "",sltCount = 0;
var currentPath= $(".FuIxtL li:last-child span:last-child").attr("title");
var tag = currentPath.substring(currentPath.lastIndexOf('/')+1);//当前目录名称
$("dd").each(function() {
var tt =$(this).find(".file-name>.text").text().replace(tag+"_","").replace("-", "").substring(0, 6);//截取文件名中的日期
//var temptag =$(this).find(".file-name>.text").text().replace(tag+"_","").replace("-", "").substring(1, 9);
if (tt != "" && !isNaN(tt)) {
if (tt != temptime) {
temptime = tt;
} else {
$(this).find(".NbKJexb").trigger('click');//选择日期相同且非第一个的记录
sltCount++;
}
console.log(tt);
}
});
console.clear();
console.log(tag + " 共选择了"+sltCount+"条数据");
4、模拟点击“删除”按钮

$("a[title='删除']:visible").trigger('click');
5、模拟点击弹出提示层“确认”按钮

$(".g-button-blue-large").trigger('click');
6、等删除完成

7、执行结果

附:完整代码
本文代码的功能是根据月份清理文件,当然可以修改条件代码,执行您想执行的操作,比如可以删除目录下的重复文件等。
/**
*清理网盘文件JS代码
*Jackie
*2019.07.10
**/
var temptime = "",sltCount = 0;
var currentPath= $(".FuIxtL li:last-child span:last-child").attr("title");
var tag = currentPath.substring(currentPath.lastIndexOf('/')+1);//当前目录名称
$("dd").each(function() {
var tt =$(this).find(".file-name>.text").text().replace(tag+"_","").replace("-", "").substring(0, 6);//截取文件名中的日期
//var temptag =$(this).find(".file-name>.text").text().replace(tag+"_","").replace("-", "").substring(1, 9);
if (tt != "" && !isNaN(tt)) {
if (tt != temptime) {
temptime = tt;
} else {
$(this).find(".NbKJexb").trigger('click');//选择日期相同且非第一个的记录
sltCount++;
}
console.log(tt);
}
});
console.clear();
console.log(tag + " 共选择了"+sltCount+"条数据");
if(sltCount>0)
{
setTimeout(function(){
console.log("执行删除!");
$("a[title='删除']:visible").trigger('click');
setTimeout(function(){
console.log("确认删除!");
$(".g-button-blue-large").trigger('click');
},1000);
},1000);
}
else
{
console.log("无可删除记录!");
}
//返回
setTimeout(function(){
window.history.back(-1);
},2000);
//自动定位到上次操作目录,便于处理下一目录
var currentDD;
var container=$('.NHcGw');
$("dd").each(function() {
if($(this).find("a:eq(0)").text()==tag)
{
currentDD=$(this);
}
});
if(currentDD)
{
if(currentDD.offset().top>container.offset().top)
{
currentDD.css("background-color","yellow");
//自动定位到上次操作目录
container.animate({
scrollTop: currentDD.offset().top-container.offset().top + "px"
},500);
}
//自动打开下一目录
currentDD.next().find("a:eq(0)").trigger('click');
}
console.clear();
网友评论