可以采用Python编写脚本来解决这个问题,步骤如下:
查询指定目录下的所有文件,按照时间升序排列。
如果文件数量小于等于n,则直接退出。
循环遍历所有文件,若当前文件是最新的n个文件之一,则跳过;否则将其删除。
代码示例:
import os
import time
path = "/path/to/directory" # 指定目录路径
n = 10 # 要保留的最新文件数量
# 查询目录下的所有文件,并按时间升序排列
files = []
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isfile(file_path):
files.append(file_path)
files.sort(key=lambda x: os.stat(x).st_mtime)
# 如果文件数量小于等于n,则直接退出
if len(files) <= n:
exit()
# 循环遍历所有文件,保留最新的n个文件
for i, file_path in enumerate(files):
if i >= len(files) - n:
break # 跳过最新的n个文件
os.remove(file_path) # 删除其他文件