自动化脚本

自动开关机设置

1
2
3
4
5
::在1800s(即30分钟)后自动关机
::shutdown -s -t 1800
shutdown -s -t 10800
::取消自动关机
shutdown -a

AutoXue

1
2
3
4
5
6
::连接夜神模拟器
adb connect 127.0.0.1:62001
::开始自动运行
e:
cd E:\AutoXue-master
python -m xuexi

technologyXue

1
2
3
4
5
6
::连接mumu模拟器
adb connect 127.0.0.1:7555
::开始自动运行
e:
cd E:\technologyPower-master
python adb.py

完整版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
::打开appium、夜神模拟器
e:
cd E:\AutoXue
python startAppiumAndNox.py

::连接夜神模拟器
adb connect 127.0.0.1:62001

::挑战答题
cd E:\AutoXue\2
python -m xuexi

::视听学习
cd E:\AutoXue\3
python videoArticle.py


::打开appium、夜神模拟器
::start /d "C:\Program Files\Appium\" Appium.exe
::start /d "D:\Nox\bin\" Nox.exe

::视听学习
::E:
::cd E:\AutoXue\4
::python startApp.py
::python adb.py

cmd 运行Anaconda环境示例

1
2
3
4
#这句话是关键,调用Anaconda环境
CALL D:\Anaconda3\Scripts\activate.bat D:\Anaconda3
#在指定虚拟环境内运行python程序
activate generalPython && D: && cd D:\PyCharm Community Edition 2019.3.4\workspace\clockIN\ && python signIN.py &&pause

UnblockNeteaseMusic

1
2
::-p 后面是端口号
node E:\UnblockNeteaseMusic\app.js -p 80

win10定时任务

https://blog.csdn.net/weixin_41712808/article/details/81567328

excel成绩表中自动将等级转换为分数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

StdGradeColumn = 1 'standard中的等级列
StdScoreColumn = 2 'standard中的等级对应的分数列
GradeNumber = 5 'standard中的等级个数,自己可以任意设置多个等级

TotalNum = 86 '学生总数
StartNum = 2 '开始行号


For i = StartNum To TotalNum + StartNum - 1
GradeColumn = 2 '等级列
ScoreColumn = 7 '分数列,这列的分数将自动计算

For k = 0 To 3
Set std = Worksheets("管理信息作业完成情况").Cells(i, GradeColumn + k)

For j = 2 To GradeNumber + 1
SelectI = 1
Set Table = Worksheets("standard").Cells(j, StdGradeColumn)
If StrComp(std.Value, Table.Value, 1) = 0 Then '比较文本
SelectI = j
Exit For
End If
Next j
Worksheets("管理信息作业完成情况").Cells(i, ScoreColumn + k) = Worksheets("standard").Cells(SelectI, StdScoreColumn)
Next k
Next i


calColumn = 6 '总结果
GradeColumn = 7 '计算第7列至第10列

For i = StartNum To TotalNum + StartNum - 1
score = 0
For k = 0 To 3
score = score + Worksheets("管理信息作业完成情况").Cells(i, GradeColumn + k).Value
Next k

Worksheets("管理信息作业完成情况").Cells(i, calColumn) = score
Next i

End Sub

QQ企业邮箱附件批量下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import poplib
import email
import time
from email.parser import Parser
from email.header import decode_header
import traceback
import sys
import telnetlib


class c_step4_get_email:
# 字符编码转换
@staticmethod
def decode_str(str_in):
value, charset = decode_header(str_in)[0]
if charset:
value = value.decode(charset)
return value

# 解析邮件,获取附件
@staticmethod
def get_att(msg_in):
# import email
attachment_files = []
for part in msg_in.walk():
# 获取附件名称类型
file_name = part.get_filename()
if file_name:
h = email.header.Header(file_name)
# 对附件名称进行解码
dh = email.header.decode_header(h)
filename = dh[0][0]
if dh[0][1]:
# 将附件名称可读化
filename = c_step4_get_email.decode_str(str(filename, dh[0][1]))
# 下载附件
data = part.get_payload(decode=True)
# 在指定目录下创建文件,注意二进制文件需要用wb模式打开
att_file = open('./work/' + filename, 'wb')
attachment_files.append(filename)
att_file.write(data) # 保存附件
att_file.close()
return attachment_files

@staticmethod
def run_ing():
# 如果是QQ企业邮箱则输入:登录密码 ,普通邮箱输入授权码
# POP3服务器需要对应的地址和端口号
# 输入邮件地址, 口令和POP3服务器地址:
email_user = 'XXXXXX'
# 此处密码是授权码,用于登录第三方邮件客户端
password = 'XXXXXX'
pop3_server = 'pop.exmail.qq.com'
# 连接到POP3服务器,有些邮箱服务器需要ssl加密,可以使用poplib.POP3_SSL
try:
telnetlib.Telnet('pop.exmail.qq.com', 995)
server = poplib.POP3_SSL(pop3_server, 995, timeout=10)
except:
time.sleep(5)
server = poplib.POP3(pop3_server, 110, timeout=10)
# 身份认证:
server.user(email_user)
server.pass_(password)
# 返回邮件数量和占用空间:
print('Messages: %s. Size: %s' %server.stat())
# list()返回所有邮件的编号:
resp, mails, octets = server.list()
# 可以查看返回的列表类似[b'1 82923', b'2 2184', ...]
print(mails)
index = len(mails)
# 遍历邮件
for i in range(1, index + 1):
resp, lines, octets = server.retr(i)
# lines存储了邮件的原始文本的每一行,
# 邮件的原始文本:
msg_content = b'\r\n'.join(lines).decode('utf-8')
# 解析邮件:
msg = Parser().parsestr(msg_content)
# 获取邮件时间,格式化收件时间
print(msg.get("Date")[0:24])
date1 = time.strptime(msg.get("Date")[0:24], '%a, %d %b %Y %H:%M:%S')
# 邮件时间格式转换
date2 = time.strftime("%Y%m%d", date1)
# 如果收件时间在20200520之后就下载附件
if date2 > '20200520':
# 获取附件
c_step4_get_email.get_att(msg)

server.quit()
print("下载附件完成")


if __name__ == '__main__':
origin = sys.stdout
# 在log文件里查看输出的信息
f = open('./log.txt', 'w')
sys.stdout = f
try:
c_step4_get_email.run_ing()
except Exception as e:
s = traceback.format_exc()
print(e)
tra = traceback.print_exc()
sys.stdout = origin
f.close()
---------------- 本文结束 ----------------

本文标题:自动化脚本

文章作者:Pabebe

发布时间:2019年11月30日 - 14:51:21

最后更新:2020年08月27日 - 17:30:30

原始链接:https://pabebezz.github.io/article/1fbb7b95/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%