Windows定时删除指定文件夹下的文件
2024-10-21 本文已影响0人
CoderInsight
前置条件
- 本机已经安装的Python环境
- 如下演示环境为Windows,如果其他的环境,也是创建类似的定时任务即可。
实现流程
1,需求分析
目标:定期删除指定目录中所有以数字命名且无后缀的文件。
频率:每月执行一次。
2,程序设计思路
输入:目标文件夹路径。
输出:删除操作的结果日志。
逻辑:
- 获取当前日期。
- 遍历指定目录下的所有文件。
- 检查文件名是否为纯数字且没有后缀。
- 删除符合条件的文件。
- 记录删除操作的日志(可选)。
3,代码实现
import os
import re
import logging
from datetime import datetime, timedelta
# 配置日志
logging.basicConfig(filename='file_cleanup.log', level=logging.INFO, format='%(asctime)s - %(message)s')
def delete_files(directory):
# 获取当前时间
current_time = datetime.now()
# 遍历目录中的所有文件
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
# 检查是否为文件且没有后缀
if os.path.isfile(file_path) and re.match(r'^\d+$', filename):
try:
# 删除文件
os.remove(file_path)
logging.info(f'Deleted: {file_path}')
except Exception as e:
logging.error(f'Error deleting {file_path}: {e}')
if __name__ == "__main__":
target_directory = r"C:\path\to\your\directory" # 替换为你的目标目录
delete_files(target_directory)
3,Windows设置定时计划
-
打开Task Scheduler任务调度程序
image.png -
根据步骤添加任务
image.png
4,执行
-
你可以先在本地创建一个测试文件夹,因为本脚本目前是删除无后缀的以数字命名文件,直接使用Python执行脚本,测试脚本的准确性。
image.png
2,在编码文件中指定文件的路径之后,直接右键执行计划点击执行即可同时测试执行计划的准确性。