比如百度网盘某目录下存有如下文件:
要求:将如上图文件目录下的文件,每个月只保留最后(新)一个(根据文件名中包含的日期),其它删除。
比如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();