2015-06-05 85 views
-4

我需要編寫一個腳本來移動給定父目錄內給定時間後修改的所有文件夾。 我想要使用bash或Python。將<time>後修改的所有文件夾移動到新文件夾

所以它應該是這樣的。

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

它必須每15分鐘檢查目錄的修改並移動任何新創建的目錄。

感謝您的幫助

+0

我認爲你應該使用bash。 檢查'find'命令,尤其是'-mtime'和'-exec'鍵。你甚至不應該使用循環。 – wisp

+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 
相關問題