2015-10-07 87 views
2

我想遞歸更改目錄及其所有文件的修改時間(mtime)。我想這一點 -如何在perl中更改目錄及其文件的mtime?

utime(undef, 1396396800, "/X/Y/dir1"); 

DIR1含有較多的目錄和文件,上面的語句只改變/ X/Y/DIR1而已,沒有其他的目錄/文件中/ X/Y/DIR1的修改時間。

是否有任何方法可以遞歸地更改perl中的mtime目錄?

回答

6

沒有「遞歸更改mtime」函數。您必須自己實施File::Find

事情是這樣的:

#!/usr/bin/env perl 
use strict; 
use warnings; 

use File::Find; 

sub change_mtime { 
    utime(undef, 1396396800, $File::Find::name); 
} 

find(\&change_mtime, "/X/Y/dir1"); 

(我假設你utime例子是正確的,我沒有測試過)

+0

非常感謝您對您的輸入。 – CodeQuestor

相關問題