【问题标题】:How to change the mtime of the directory and its files in perl?如何在 perl 中更改目录及其文件的 mtime?
【发布时间】:2015-10-07 17:23:58
【问题描述】:

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

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

dir1包含更多的目录和文件,以上语句只改变/X/Y/dir1的mtime,不改变/X/Y/dir1内的其他目录/文件。

有没有什么方法可以递归地改变perl中目录的mtime?

【问题讨论】:

    标签: linux perl


    【解决方案1】:

    没有“递归更改 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 示例是正确的,我还没有测试过)

    【讨论】:

    • 非常感谢您的意见。
    猜你喜欢
    • 2013-02-19
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多