分享:python+Windows自带任务计划程序,实现定时自动删微信的video文件夹

目录

  • 0. 背景
  • 1. 使用python实现删微信的video文件夹
    • 1.1 代码
    • 1.2 打包
  • 2. 使用python实现自动添加任务计划程序
    • 2.1 代码
    • 2.2 打包
  • 3. 使用bat脚本方便操作
    • 3.1 手动删.bat
    • 3.2 加入定时任务.bat

0. 背景

pc微信实在太占用磁盘空间了,特别是其中的视频文件夹。所以有了这些实现,每个月的最后一天的晚上的11点,自动删了微信的视频文件夹,从此不再面对红色磁盘的焦虑!
PS:本文章里的代码,98%是chatGPT生成的,我的作用是提问,总结和debug。。。。

1. 使用python实现删微信的video文件夹

1.1 代码

新建个python文件,命名为:delWechatFolder.py

import os
import shutil
import winregimport clickCONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])@click.group(context_settings=CONTEXT_SETTINGS)
@click.version_option(version='1.0.0')
def myClick():"""这是一个用于删除指定微信id的video文件夹的小工具。"""passdef getCurrentUserDocumentPath():'''通过注册表获取当前用户的document路径'''retPath = ""try:hKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders")retPath = winreg.QueryValueEx(hKey, "Personal")[0]winreg.CloseKey(hKey)print(retPath)except WindowsError as e:print("Error:", e)return retPathdef getWeChatFileSavePath():'''通过注册表获取微信文件保存路径'''retPath = Nonetry:hKey = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\Tencent\\WeChat")retPath = winreg.QueryValueEx(hKey, "FileSavePath")[0]winreg.CloseKey(hKey)except WindowsError as e:print("Error:", e)if not retPath:retPath = getCurrentUserDocumentPath() + "\\WeChat Files"return retPath@myClick.command()
@click.option('--wxid', default='scoful', prompt='要操作的微信id', help='要操作的微信id')
def delFolder(wxid):"""删除指定wxid的video文件夹"""wechatFileSavePath = getWeChatFileSavePath()print(wechatFileSavePath)# 定义要删除的文件夹路径folder_path = wechatFileSavePath + "\\" + wxid + "\\FileStorage\\Video"# 判断文件夹是否存在if os.path.exists(folder_path):# 如果文件夹存在,就进入下一级目录os.chdir(folder_path)# 获取当前目录下的所有文件夹和文件file_list = os.listdir()# 遍历所有文件夹和文件for file_name in file_list:print(file_name)# 判断是否是文件夹if os.path.isdir(file_name):# 如果是文件夹,就使用 shutil.rmtree 函数删除该文件夹及其所有内容shutil.rmtree(file_name)print(f"文件夹 {file_name} 已删除")else:print("文件夹不存在")if __name__ == '__main__':myClick()

1.2 打包

  • 为了方便使用和可以分享给他人使用,建议打包成可执行文件
  • 参考《科普:python怎么使用Pyinstaller模块打包成可执行文件》
  • 可选项,找个favicon.ico,可以通过这个网站自定义生成
  • 打包命令:Pyinstaller -F -c -i favicon.ico delWechatFolder.py
  • 切记在conda的虚拟环境里打包哦
  • 在代码目录下,会生成一个dist文件夹,里面就有生成的可执行文件,并且使用了提供的favicon.ico文件,delWechatFolder.exe

2. 使用python实现自动添加任务计划程序

任务计划程序的官方接口文档

2.1 代码

新建个python文件,命名为:registerMonthlyTask.py

import datetime
import osimport click
import win32com.clientCONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])@click.group(context_settings=CONTEXT_SETTINGS)
@click.version_option(version='1.0.0')
def myClick():"""这是一个新建定时任务的小工具。每个月的最后一天删除指定微信id的video文件夹"""pass@myClick.command()
@click.option('--wxid', default='scoful', prompt='要操作的微信id', help='要操作的微信id')
def handleScheduler(wxid):# 创建任务计划程序对象scheduler = win32com.client.Dispatch("Schedule.Service")scheduler.Connect()# 获取任务计划程序的根文件夹root_folder = scheduler.GetFolder("\\")# 创建一个新任务task = scheduler.NewTask(0)# 设置任务的基本属性task.RegistrationInfo.Description = "每个月的最后一天删除指定微信id的video文件夹"task.Settings.Enabled = Truetask.Settings.Hidden = False# 创建每月最后一天晚上11点触发器trigger = task.Triggers.Create(4)  # 4 表示 MonthlyTriggertrigger.MonthsOfYear = 4095  # 4095 表示所有月份trigger.RunOnLastDayOfMonth = True  # True 表示每月最后一天trigger.StartBoundary = datetime.datetime.now().strftime('%Y-%m-%dT23:00:00')  # 每月最后一天晚上11点trigger.Id = 'delWechatFolder trigger'# 添加操作,用于调用.exe文件并传递额外参数action = task.Actions.Create(0)  # 0 表示 ExecActioncurrent_directory = os.getcwd()print(current_directory)action.Path = current_directory + "\\delWechatFolder.exe"action.Arguments = "delfolder --wxid=" + wxid# 将任务添加到任务计划程序的根文件夹中root_folder.RegisterTaskDefinition("delWechatFolder Task",task,6,  # 6 表示创建或更新任务"", "",  # 用户名和密码为空字符串,表示当前用户0)  # 0 表示不需要SDDL格式的安全描述符print("Task created successfully.")if __name__ == '__main__':myClick()

2.2 打包

  • 为了方便使用和可以分享给他人使用,建议打包成可执行文件
  • 参考《科普:python怎么使用Pyinstaller模块打包成可执行文件》
  • 可选项,找个favicon2.ico,可以通过这个网站自定义生成
  • 打包命令:Pyinstaller -F -c -i favicon2.ico registerMonthlyTask.py
  • 切记在conda的虚拟环境里打包哦
  • 在代码目录下,会生成一个dist文件夹,里面就有生成的可执行文件,并且使用了提供的favicon.ico文件,registerMonthlyTask.exe

3. 使用bat脚本方便操作

3.1 手动删.bat

这个脚本是用来手动触发,并验证代码是否正确

@echo off
cd /d %cd%
start delWechatFolder.exe delfolder --wxid=你的微信id

3.2 加入定时任务.bat

这个脚本是用来加入任务计划程序

@echo off
cd /d %cd%
start registerMonthlyTask.exe handlescheduler --wxid=你的微信id
  • 双击运行后,可以去任务计划程序里查看是否加入,右键我的电脑-管理-任务计划程序库-任务计划程序库
    在这里插入图片描述
  • 可以看到已经新增成功
  • 右键该计划-运行,可以测试是否可以生效

enjoy!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37750.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建本地服务器+jshtml访问mysql并显示输出

文章目录 人生苦短,先问chatgpt1. 用Tomcat配置本地网站2. 访问本地网页3. js访问本地mysql并显示在html中 PS: Chatgpt实在是有点强~~ 今天是悲伤的一天,把mysql密码忘了,网上搜的方法没用,本来以为卸载部分组件就好,…

3句代码,实现自动备份与版本管理

前言: 服务器开发程序、测试版本等越来越多,需要及时做好数据的版本管理和备份,作为21世界的青年,希望这些事情都是可以自动完成,不止做了数据备份,更重要的是做好了版本管理,让我们可以追溯我们…

【编程实践】Linux Shell 编程:使用 循环和递归 实现斐波那契数列代码

用 Linux Shell 编程语言递归实现斐波那契数列代码:循环和递归 Linux Shell 编程语言是一种强大的工具,它可以轻松地实现程序设计语言中的常见算法。 斐波那契数列 斐波那契数列是一种经典的算法,它的定义如下: 斐波那契数列(Fibonacci Sequence)是以递归的方法来定义: …

chatgpt赋能python:Python下载与运行指南-让Python脚本更容易使用

Python下载与运行指南 - 让Python脚本更容易使用 Python已经成为世界上最流行的编程语言之一。Python具有简单易用的特点,几乎可以开始创建任何类型的应用程序或脚本。如果你是一名新手或是一名经验丰富的开发者,Python都是一款优秀的编程语言。 本篇文…

人教版初中英语听力软件,人教版初中英语听力mp3

新目标英语九年级上册Tapescripts所有的翻译 east东方的、eagerness热心、eagle鹰、ear耳朵,听力、early早等。 词汇解析一、east 英 [iːst]   美 [iːst]    adj. 东方的adv. 向东方n. 东方;东部1、east的基本意思是“东,东方”&…

英语语音题

语音题 a i i在nd和gh前发[ai] y th 词首[θ] the、ther结尾[] ch tion ow[哦][奥] oo ar ed 清读[t] 浊元读[d] t、d后读[id] 清:破客服吃屎,戳死赐死 ea o s ou e 欸 b ure 呃 优呃 屋呃 h gh ex 后有元[igz] 后有辅[iks] c al ai wh w在wr、…

ChatGPT: Optimizing Language Models for Dialogue

1.简介 最近ChatGPT很好,本文根据https://openai.com/blog/chatgpt/翻译总结的。 ChatGPT: Optimizing Language Models for Dialogue。如标题,ChatGPT为了对话使用的。 ChatGPT是InstructGPT的兄弟模型,它被训练为以提示prompt的方式遵循…

挑战OpenAI,马斯克宣布xAI正式成立:目标是“了解宇宙真实本质”!

挑战OpenAI,马斯克宣布xAI正式成立:目标是“了解宇宙真实本质”! 一、马斯克官宣xAl硬刚OpenAl二、创始团队1/3成员是华人三、马斯克下了一盘棋 北京时间7月13日凌晨,马斯克在Twitter上宣布:“xAI正式成立,…

昨天OpenAI GPT-4,今天微软Copilot,轮番上阵碾压谁?

来源:《飞哥说AI》公众号 作者|高佳 创意|李志飞 微软Copilot横扫Office全系产品,正式改名为Microsoft 365 ,其野心昭然。 微软全家桶自带AI智能驾驶模式,意味着 Windows 全AI系列新品将火速渗透各行各业…

自然语言处理:Word2Vec

每种动物都有自己的语言,机器也是!自然语言处理(NLP)就是在机器语言和人类语言之间沟通的桥梁。 NLP通常有情感分析、文本挖掘、信息抽取、信息检索、问答/对话系统(聊天机器人)、语音识别、机器翻译等应用…

周鸿祎:ChatGPT可能两三年内产生自我意识;字节加入大模型之战;Ubuntu下一版本默认不再支持Flatpak| 极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#xf…

chatGPT在线网页写论文

帮我写一篇关于秦始皇对于中国的影响论文 秦始皇,即嬴政,是中国历史上的伟大统治者之一。他在位期间统一了中国各个诸侯国,建立了秦朝,并为中国历史上的统一奠定了基础。秦始皇对于中国的影响是深远而持久的,不仅在政…

如何加速大模型开发?技术方案拆解来了:昇思MindSpore技术一览

随着ChatGPT爆火出圈,狂飙之势从22年底持续到23年初,与以往的技术突破不同的是,此次的大模型不仅被技术界关注,而且备受投资界、产业界和大众消费者的追捧,使它成为历史上最快月活过亿的现象级应用,继而引发…

Python项目:基于爬虫+Flask实现招聘岗位数据分析与可视化

在 基于爬虫Flask实现豆瓣电影Top250数据分析 的基础上,进一步实战,开发出本项目 基于爬虫Flask实现的招聘岗位数据分析与可视化,干货多多,也学到了很多的东西。 文章目录 1、项目简介:2、成果展示:3、后台展示4、项目总结: 1、项目简介: 项目主要是对招聘网站 51job 上的招聘信…

微信小程序输入框字数限制以及计算

wxml代码如下: <textarea class"textarea-bg font_s33 font_c31" id"information" maxlength150 placeholder"请输入遇到的问题或建议" name"information" value"{{information}}"bindinput"getDataBindTap"&…

百度推出可24时直播带货的AI数字人

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 前几天我还说做直播太内卷&#xff0c;运营成本太高了呢&#xff0c;今天百度就推出了AI数字人&#xff0c;同时推出了曦灵数字人直播平台。它最大的特色功能就是&#xff1a; (1)有基础文本&#…

从开店营销到智能化私域运营,有赞发布人工智能引擎Jarvis

“以往在私域发起一场营销活动&#xff0c;从活动策划&#xff0c;到历史数据分析&#xff0c;再到内容排期&#xff0c;整个策划阶段往往需要一周以上的时间&#xff0c;而现在通过营销画布&#xff08;MA&#xff09;以及其中内嵌的人工智能能力&#xff0c;只需要30分钟不到…

小度助手和它背后的百度AI野望

乾明 发自 凹非寺量子位 报道 | 公众号 QbitAI 百度最近的一则高管晋升通告&#xff0c;反映出小度助手对百度的重要性不断提高。 最新一季财报刚结束&#xff0c;李彦宏一封内部信&#xff0c;将“小度助手”&#xff08;DuerOS&#xff09;负责人景鲲&#xff0c;晋升为公司副…

2023 最新 抖音AI换脸表情包小程序变现玩法项目

单条视频变现1万 普通人也能轻松玩转 表情包小程序变现在抖音的玩法一直越来越好&#xff0c;最近新出的AI换脸表情包玩法更有意思&#xff0c;可以预见的是这是一个有红利期的&#xff0c;短平快的项目&#xff0c;刚开始大家都会特别感兴趣&#xff0c;都会把自己的脸换到视…

【DuerOS开发日记】1.据说小度在等待帅的人把它唤醒

目录 【Minecode|开发日记】1.据说小度在等待帅的人把它唤醒 【Minecode|开发日记】2.打造属于自己的小度(1)&#xff1a;使用PythonSDK 【Minecode|开发日记】3.打造属于自己的小度(2)&#xff1a;小白小白&#xff01;——唤醒词替换 &#xff08;未完持更&#xff09; 写在前…