将<time>后修改的所有文件夹移动到新文件夹

时间:2015-06-05 12:05:44

标签: python bash last-modified

我需要编写一个脚本来移动给定父目录中的所有文件夹,这些文件夹在给定时间后被修改。 我想要使​​用bash或Python。

所以它应该是类似的东西。

forall ${DIR} in ${PARENT_DIR}
If ${DIR} is modified after ${TIME}
move ${DIR} to ${NEW_DIR}

必须每15分钟检查一次目录的修改并移动任何新创建的目录。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

import os
from shutil import move
from time import time

def mins_since_mod(fname):
    """Return time from last modification in minutes"""
    return (time() - os.path.getmtime(fname)) / 60

PARENT_DIR = '/some/directory'
MOVE_DIR = '/where/to/move'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
    # If the file is a directory and was modified in last 15 minutes
    if os.path.isdir(fname) and mins_since_mod(fname) < 15:
        move(fname, MOVE_DIR) # move it to a new location