0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用Python自动化和 Windows 服务删除临时文件

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-03 15:19 次阅读

1

目 标 场 景

用过 Mac OS 的朋友应该都遇到过,日常的文件操作会在同级目录下产生一些特定的临时文件。

平常将文件夹打包成压缩包或拷贝文件夹到移动硬盘内,临时文件会包含在里面,如果是程序源代码,在 Windows 系统下编译有时候还会受到影响。

本篇文章的目的是在移动硬盘插入到电脑的同时,利用 **Python 自动化和 Windows 服务 **删除掉这些临时文件。

2

编 写 代 码

首先,我们需要循环检测 PC 的驱动器,判断是否存在 可移动的磁盘

# 循环遍历,对每一个驱动器进行判断
while True:
        for item in disk_partitions():
            if 'removable' in item.opts:
                driver, opts = item.device, item.opts
                # 删除临时文件
                pass
                break
            else:
                continue

        # 休眠5s,继续遍历
        sleep(5)

如果检测到存在可移动的磁盘,就遍历文件,删除 Mac 临时文件。

def remove_all_file(filepath, file_name):
    """
    删除 MAC 临时文件
    :param file_name:
    :return:
    """
    for root, dirs, files in os.walk(filepath):
        for name in files:
            print(name)

            if name.startswith("._") or name == file_name:
                os.remove(os.path.join(root, name))

接着,我们利用 pyinstaller 将 Python 文件打包成 Exe 可执行文件。

# 安装 pyinstaller 
pip3 install pyinstaller 

# 把 py 文件打包成 exe 可执行文件
# 图标:img.ico
pyinstaller -F -i img.ico  del_mac_files.py

为了保证程序一直在后台运行,我们需要创建一个 系统服务 ,让将可执行文件一直在后台执行。

instsrv.exesrvany.exe 这两个文件可以非常方便的创建系统服务。其中,instsrv.exe 用于创建、删除服务;srvany.exe 用于保障服务能正常启动。

# 注册服务
# instsrv.exe 服务名 srvany.exe
c:instsrv.exe del_mac_tempfile c:srvany.exe

需要注意的是,运行注册服务命令时, 需要以管理员权限运行 CMD 来执行

图片

注册完服务之后,还需要通过注册表把服务和可执行程序关联起来。

# 注册表服务的目录
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices

在注册表中找到上面创建的服务 ,新建一个 Parameters 的项,在项内再创建两个字符串,分别指向可执行文件和可执行文件的完整目录。

图片

最后,services.msc 命令打开服务管理,找到目标服务, 设置允许服务和桌面交互 ,设置开启服务并设置为自启。

图片

3

结 果 结 论

通过以上注册的服务,每次插入移动硬盘,都会自动去遍历移动硬盘盘的文件,查找 Mac 临时文件并删除。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 硬盘
    +关注

    关注

    3

    文章

    1282

    浏览量

    57185
  • WINDOWS
    +关注

    关注

    3

    文章

    3515

    浏览量

    88276
  • 自动化
    +关注

    关注

    28

    文章

    5459

    浏览量

    78961
  • python
    +关注

    关注

    54

    文章

    4763

    浏览量

    84339
收藏 人收藏

    评论

    相关推荐

    Internet Explorer 6浏览器如何设置自动删除临时文件

    Internet Explorer 6浏览器可以自动删除临时文件,但这需要你进行相关的设置。请打开网络浏览器,选择“工具/Internet选项……”,选择“高级”,进入到“安全” 区域,选取“当
    发表于 03-10 11:40

    【电脑使用技巧】怎么活用“查找”命令 让系统搜索更智

    或者有“Windows”或者有“XP技巧大餐”的文件。由此,我们可以看出在“名称”框中,“?”是逻辑与的关系,空格则是逻辑或的关系。  三、删除全部临时文件  大多数应用程序在安装和运
    发表于 06-08 09:04

    win10 IE浏览器无法更改临时文件夹存储位置

    临时文件修改不了存储位置的问题。这是怎么回事呢?接下来,小编就给大家介绍下win10系统下无法更改ie临时文件位置的解决方案。具体方法如下: 1、每次用ie修改,注销后还是没有改变。2、可以通过修改注册表
    发表于 03-08 13:46

    keil使用.bat命令删除临时文件

    本帖最后由 Iamwjy 于 2016-6-25 23:03 编辑 直接把 删除Keil临时文件.bat 文件拷贝到自己的工程目录下,点击运行就能删除keil编译生成的
    发表于 06-25 23:02

    如何快速删除临时文件

    ,使用bat文件可快速删除编译产生的临时文件。适用开发环境本方式也适用于Windows下的各种开发环境,比如常用的keil、IAR等,只要按格式添加你想要
    发表于 01-27 07:49

    MDK怎么修改生成的临时文件地址?

    MDK怎么修改生成的临时文件地址
    发表于 10-11 07:54

    qq垃圾清理软件下载

    qq垃圾文件清理工具 由于QQ使用的时间长,在线时产生的临时文件,广告文件,QQ缓存,QQ安装临时文件,炫铃文件,魔法表情
    发表于 04-11 08:38 20次下载
    qq垃圾清理软件下载

    如何设置IE6浏览器自动删除临时文件

    Internet Explorer 6浏览器如何设置自动删除临时文件 Internet Explorer 6浏览器可以自动删除
    发表于 03-10 11:41 1630次阅读

    Chrome修改临时文件夹位置

    Chrome修改临时文件夹位置,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-15 16:44 0次下载

    c盘清理方法

    本视频主要详细介绍了c盘清理方法,分别有删除休眠文件hiberfil.sys、清除应用程序产生的临时文件、清除IE等浏览器产生的临时文件、清除系统还原,SystemVolumeInfo
    的头像 发表于 03-06 16:55 4703次阅读

    怎样从计算机中删除临时文件

     从计算机上删除所有临时文件时。如果您对此有任何疑问或疑问,它将加快计算机速度
    的头像 发表于 12-13 16:10 3174次阅读

    如何让电脑速度重新快起来

    【清理垃圾】 设置>>系统>>存储>>存储感知>>立即释放空间,缩短临时文件保存天数,删除临时文件(如果用户界面没有本项内容,执行下一步磁盘清理)。
    的头像 发表于 05-14 15:29 2976次阅读

    keil、IAR等程序工程建立批处理文件删除临时文件

    ,使用bat文件可快速删除编译产生的临时文件。适用开发环境本方式也适用于Windows下的各种开发环境,比如常用的keil、IAR等,只要按格式添加你想要
    发表于 12-03 11:36 18次下载
    keil、IAR等程序工程建立批处理<b class='flag-5'>文件</b><b class='flag-5'>删除</b><b class='flag-5'>临时文件</b>

    RT-Thread文档_TMPFS 临时文件系统

    RT-Thread文档_TMPFS 临时文件系统
    发表于 02-22 18:42 0次下载
    RT-Thread文档_TMPFS <b class='flag-5'>临时文件</b>系统

    Facebook群组自动化python – 网络自动化

    电子发烧友网站提供《Facebook群组自动化python – 网络自动化.zip》资料免费下载
    发表于 07-05 14:26 0次下载
    Facebook群组<b class='flag-5'>自动化</b><b class='flag-5'>python</b> – 网络<b class='flag-5'>自动化</b>