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