如何自动加密和删除文件夹中的文件

你是否曾经担心过将重要文件存储在电脑上,担心它们可能被他人访问或丢失?在本教程中,我们将介绍如何使用Python编写一个自动化脚本,将文件夹中的文件压缩加密,并安全地删除原始文件,以保护你的数据。让我们一起来看看如何做到这一点!

背景故事

假设你有一个包含敏感文件的文件夹,你希望将这些文件压缩并加密,以确保它们不会被未经授权的人访问。同时,你也想要删除原始文件,以释放磁盘空间并减少风险。这个任务可能会变得非常繁琐,但幸运的是,我们可以使用Python来自动化这个过程。

准备工作

在我们深入讨论代码之前,让我们先了解一些准备工作。首先,我们需要确保你的计算机上安装了WinRAR软件,因为我们将使用它来进行文件的压缩和加密。另外,你需要提供一个密码,用于加密压缩文件。

使用Python编写自动化脚本

我们将使用Python编写一个自动化脚本,执行以下操作:

  1. 压缩文件夹:我们将使用WinRAR来压缩文件夹中的文件,创建一个加密的压缩文件。

  2. 加密压缩文件:我们将设置密码来加密压缩文件,确保只有知道密码的人才能解压文件。

  3. 删除原始文件:一旦文件成功压缩并加密,我们将安全地删除原始文件夹中的文件,以保护数据。

以下是Python代码的主要部分:

import shutil
import subprocess
import os
import time
from pathlib import Path

def encrypt_folder_with_winrar(folder_path, password):
    # WinRAR命令
    winrar_command = r'C:\Program Files\WinRAR\WinRAR.exe'

    # 获取当前日期
    current_date = time.strftime("%Y-%m-%d", time.localtime())

    # 获取桌面BD文件夹路径
    desktop_path = str(Path.home() / "Desktop")
    bd_folder_path = os.path.join(desktop_path, "DB")

    # 创建DB文件夹(如果不存在)
    if not os.path.exists(bd_folder_path):
        os.mkdir(bd_folder_path)

    # 压缩包文件名
    compressed_filename = f'压缩包-{current_date}.rar'

    # 压缩包路径
    compressed_filepath = os.path.join(bd_folder_path, compressed_filename)

    # 加密命令
    encryption_command = [winrar_command, 'a', '-r', '-hp' + password, compressed_filepath, folder_path]

    # 执行加密命令
    subprocess.run(encryption_command)

    return compressed_filepath

def encrypt_and_delete_folder(folder_path, password):
    try:
        # 压缩并加密文件夹
        compressed_file = encrypt_folder_with_winrar(folder_path, password)

        # 等待一段时间,确保压缩文件完成
        time.sleep(10)

        # 删除源文件夹中的文件
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                os.remove(os.path.join(root, file))

        print("加密打包操作成功")
    except Exception as e:
        print(f"加密打包操作失败:{e}")

        # 出现错误时,删除已创建的压缩文件
        if os.path.exists(compressed_file):
            os.remove(compressed_file)
            print("压缩文件已删除.")

# 文件夹路径
folder_path = r'D:\BACK'

# 密码
password = '123456'

# 加密并删除文件夹中的文件
encrypt_and_delete_folder(folder_path, password)

使用定时任务自动化操作

如果你希望定期执行这个操作,我们可以使用Python的schedule库来安排任务。在上述代码中,我们创建了一个名为encrypt_and_delete_folder的函数,它将压缩、加密和删除文件夹中的文件。然后,我们使用schedule库来定期执行这个函数。

以下是如何设置定时任务的代码:

import schedule
import time

# 文件夹路径
folder_path = r'D:\BACK'

# 密码
password = '123456'

# 每天定时执行加密打包操作
schedule.every().day.at("12:20").do(encrypt_and_delete_folder, folder_path=folder_path, password=password)

# 循环执行任务,并写入日志
while True:
    schedule.run_pending()
    time.sleep(60)

结论

通过使用Python编写自动化脚本和定时任务,我们成功地实现了文件夹中文件的

压缩、加密和删除操作。这种自动化方法可以帮助你更好地保护你的敏感数据,同时也节省了你的时间和精力。

希望这篇教程对你有所帮助,如果你有任何疑问或需要进一步的指导,请随时联系我们。保持数据安全,保持自动化!

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:如何自动加密和删除文件夹中的文件

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月4日
下一篇 2023年10月4日

相关推荐

  • 自动签到天翼云盘,告别繁琐的手动操作

    你是否也因为拥有电信手机的福利,而获得了10T的天翼云盘空间,但又不想每天都登录签到?别担心,我为你提供了一个自动签到脚本的解决方案,让你告别烦人的手动操作。 感谢热心观众:felix发现的错误。 为了方便大…

    2023年11月5日
    019
  • 创建自动化试卷生成工具:使用Python和OpenPyXL

    你是否曾经需要为学生创建大量的试卷,但又不想手动编写每一份试卷?在这个教程中,我们将使用Python编写一个自动化试卷生成工具,可以根据题库随机生成试卷,并保存为Word文档。无需编程经验,我们将一步步引导你…

    2023年9月13日
    00
  • 让Python成为你的工作助手:工作自动化的终极指南

    你是否曾经感到工作负担沉重,每天都在处理重复性任务,而无法集中精力完成更有价值的工作?如果是的话,那么Python可能会成为你的工作救星。Python是一种强大的编程语言,拥有丰富的库和工具,可以帮助你自动化各…

    2023年9月14日
    00
  • 探索 Shell 脚本的威力

    在当今快节奏的计算环境中,我们常常陷入对图形界面和应用程序的过度依赖中,而忽视了那个简洁而又强大的工具:Shell。作为计算机操作系统与用户之间的桥梁,Shell 脚本在日常工作中发挥着不可或缺的作用。让我们回…

    2023年8月25日
    00
  • 8个能提升你办公效率的人工智能网站

    在现代工作环境中,提高办公效率是至关重要的。随着人工智能技术的不断发展,越来越多的AI工具涌现出来,可以帮助你更加高效地完成工作任务。本文将介绍8个能够极大提升你办公效率的人工智能网站,无论你是需要自动…

    2023年5月4日
    00
  • 自动化阿里云盘签到和奖励领取教程

    在我们深入了解如何自动化阿里云盘签到和奖励领取之前,让我与你分享一个小故事。假设你是一名繁忙的职业人士,每天都要面对繁琐的工作和生活任务。你拥有一个阿里云盘账号,每天都需要手动签到,以获取宝贵的奖励…

    2023年9月19日
    00
  • Python数据库查询和邮件发送脚本

    假设你是一位数据分析师,每天早上需要查询公司数据库中的数据,并将结果发送给多位同事。在过去,你可能需要手动执行这些任务,但现在你可以通过编写Python脚本来自动完成这些工作。 准备工作 在开始之前,确保你…

    2023年9月23日
    00
  • Q*泄漏事件:真相与疑虑

    在数字时代,信息的泄漏和传播速度之快让人们瞠目结舌。最近,一个名为Q*(Q星)的消息泄漏事件在网络上引发了轩然大波。这一事件涉及到开放人工智能公司OpenAI,以及可能影响到网络安全和加密领域的巨大技术突破。…

    2023年12月9日
    00
  • 下面是一个简单的 Python 程序,它可以帮助你躺着赚钱。

    在计算机编程的世界中,有许多有趣的程序和项目,但有一个特别引人注目的想法是能够躺在床上或沙发上,同时通过编写代码来赚钱。尽管这个想法听起来有点不切实际,但我们可以编写一个示例程序来模拟这个过程,探讨…

    2022年12月14日
    00
  • 游戏世界:数字时代的储存危机

    在数字时代,我们享受到了前所未有的娱乐体验,游戏作为其中的一部分,扮演着至关重要的角色。然而,现代游戏的一个普遍问题引发了玩家们的关切,那就是游戏的巨大存储需求。你是否曾被一款游戏的庞大存储容量惊到…

    2023年10月26日
    00