如何在perl中更改目录及其文件的mtime?

时间:2015-10-07 09:15:54

标签: linux perl

我想以递归方式更改目录及其所有文件的修改时间(mtime)。我试过了 -

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

dir1包含更多目录和文件,上面的语句只更改/ X / Y / dir1的mtime,而不是/ X / Y / dir1中的其他目录/文件。

是否有任何方法可以递归更改perl中的目录的mtime?

1 个答案:

答案 0 :(得分: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示例是正确的,我还没有测试过它)