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

要求:将如上图文件目录下的文件,每个月只保留最后(新)一个(根据文件名中包含的日期),其它删除。

比如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();

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐