我想递归地更改目录及其所有文件的修改时间(mtime)。我试过了 -
utime(undef, 1396396800, "/X/Y/dir1");
dir1 包含更多的目录和文件,上面的语句只改变/X/Y/dir1 的mtime,不改变/X/Y/dir1 中的其他目录/文件。
有什么方法可以递归地改变perl中目录的mtime吗?
最佳答案
没有“递归改变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
例子是正确的,我没有测试过)
关于linux - 如何在 perl 中更改目录及其文件的 mtime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988350/