Sikulix编译脚本 批量重命名 百度网盘文件

Sikulix编译脚本 批量重命名 百度网盘文件

目录

之前一直做搬运工了,导致百度盘特别乱,而网盘却没有这功能,只能自己想 办法解决。通过Sikulix编写脚本,对百度网盘Windows客户端可视化编程, 实现批量命名。

Sikulix

SikuliX通过定位图像和键盘鼠标来操作GUI(图形化用户界面),能很好的实现flash和桌面类应用的自动化。本文基于此背景上进行开发,达到自动命名的目的。

Sikulix简介
Sikulix安装
方法参考:知乎宗仁

功能说明

注意:本文命名的规则:将文件名中不想要的字符过滤掉 。其他规则,需要单独实现。

代码块

代码块语法遵循标准markdown代码,例如:

#批量重命名 silulix脚本
reload(sys)
sys.setdefaultencoding('utf8')

lineCount= 35  #行数

panTitle=find("1516632319458.png")#度盘标题栏
panTitleX=panTitle.x
panTitleY=panTitle.y

PAN_TITLE_HEIGHT=25 #度盘标题栏高度
PAN_LIST_ITEM_HEIGHT=23#度盘每条数据的高度    
CHECKBOX_MARGIN_LEFT=15#选择框左侧间距
CHECKBOX_WIDTH=15#选择框宽度
CHECKBOX_HEIGHT=15#复选框高度

index=0
MAX_LINE_NUMBER=17#当前度盘能显示的最大条数
needCancel=False #Key.DOWN 会顺便选择下一行 为保护循环 下次循环时再次点击取消掉
filterSet={
   
   u"新建",u"文本"} #文件名过滤集合

for line in range(lineCount):
    clickY=PAN_TITLE_HEIGHT+PAN_LIST_ITEM_HEIGHT*index+panTitleY
    clickRegin=Region(panTitleX+CHECKBOX_MARGIN_LEFT,clickY,CHECKBOX_WIDTH,CHECKBOX_HEIGHT)
    print " index is"+str(index)
    if needCancel:
        click(clickRegin)#去除Down带来的选中
        needCancel = False

    click(clickRegin)
    time.sleep(0.5)
    type(Key.F2)
    type('c', Key.CTRL)
    fileBase= App.getClipboard()
    #命名算法 begin 
    for word in filterSet:
        fileBase = fileBase.replace(word,u"") #此处仅去掉不想要的字符 其他自行处理
    #命名算法 end
    print fileBase
    paste(fileBase)
    type(Key.ENTER)
    click(clickRegin)
    time.sleep(0.5)

    if index >= MAX_LINE_NUMBER:
        click(clickRegin)
        type(Key.DOWN) #DOWN ↓ 在百度盘客户端的中移动2行
        needCancel=True
        time.sleep(0.5)
        index = index -1 #下移2行后 索引上移1行
    else:
        index = index +1

流程图:

Created with Raphaël 2.1.2 开始 查找Title区域 循环完毕? 结束 循环内部 计算Index的区域 >当前页数量? Index++ Index--;按键↓ yes no yes no

过程

操作图片


猜你喜欢

转载自blog.csdn.net/mybachelor123/article/details/79149938