File::Find与文件时间比较的例子
2008-07-28 12:57
281 查看
#!c:/perl/bin/perl -w
use strict;
use File::Find;
my $file_num=0;
sub l_time {
my ( $__in_time ) = @_;
my ($__now_time);
eval{
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
localtime ($__in_time);
#$year += 1900 if ( $year >= 100 );
$year += 1900;
$mon++;
$__now_time = sprintf( "%4s-%02s-%02s %02s:%02s:%02s",
$year, $mon, $mday, $hour, $min, $sec );
} || die print "获取时间错误:$!";
return $__now_time;
}
#按照路径进行查找
#my $a=find(/&wanted,'d:/');
#首先查找当前目录下文件再查找子目录下文件
my $a=finddepth(/&wanted,'d:/');
sub wanted {
if ( $File::Find::name =~ m/T_File_Find/ ){
$file_num++ ;
print '$_=',"$_/n";
print '$File::Find::dir=',"$File::Find::dir/n";
print '$File::Find::name=',"$File::Find::name/n";
#print '$File::Find::fullname=',"$File::Find::fullname/n";
my $file_size = -s $File::Find::name;
print "文件大小:$file_size/n";
my $mtime = -M $File::Find::name;
print "文件修改时间为:$mtime/n";
my $mtime1 = localtime $mtime;
print "文件修改时间为:$mtime1/n";
my $mtime2 = &l_time($mtime);
print "文件修改时间为:$mtime2/n";
my $atime = -A $File::Find::name;
print "文件访问时间为:$atime/n";
my $atime1 = localtime $atime;
print "文件访问时间为:$atime1/n";
my $atime2 = &l_time($atime);
print "文件访问时间为:$atime2/n";
my $ctime = -C $File::Find::name;
print "文件索引节点时间为:$ctime/n";
my $ctime1 = localtime $ctime;
print "文件索引节点时间为:$ctime1/n";
my $ctime2 = &l_time($ctime);
print "文件索引节点时间为:$ctime2/n";
print "========================/n";
print time,"/n";
print &l_time(time),"/n";
print &l_time(time-$mtime),"/n";
print "========================/n";
print &l_time(time-$mtime*86400),"/n";
print &l_time(time-$atime*86400),"/n";
print &l_time(time-$ctime*86400),"/n";
}
return $file_num if ($file_num == 1);
}
print "/$a=$a/n";
use strict;
use File::Find;
my $file_num=0;
sub l_time {
my ( $__in_time ) = @_;
my ($__now_time);
eval{
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
localtime ($__in_time);
#$year += 1900 if ( $year >= 100 );
$year += 1900;
$mon++;
$__now_time = sprintf( "%4s-%02s-%02s %02s:%02s:%02s",
$year, $mon, $mday, $hour, $min, $sec );
} || die print "获取时间错误:$!";
return $__now_time;
}
#按照路径进行查找
#my $a=find(/&wanted,'d:/');
#首先查找当前目录下文件再查找子目录下文件
my $a=finddepth(/&wanted,'d:/');
sub wanted {
if ( $File::Find::name =~ m/T_File_Find/ ){
$file_num++ ;
print '$_=',"$_/n";
print '$File::Find::dir=',"$File::Find::dir/n";
print '$File::Find::name=',"$File::Find::name/n";
#print '$File::Find::fullname=',"$File::Find::fullname/n";
my $file_size = -s $File::Find::name;
print "文件大小:$file_size/n";
my $mtime = -M $File::Find::name;
print "文件修改时间为:$mtime/n";
my $mtime1 = localtime $mtime;
print "文件修改时间为:$mtime1/n";
my $mtime2 = &l_time($mtime);
print "文件修改时间为:$mtime2/n";
my $atime = -A $File::Find::name;
print "文件访问时间为:$atime/n";
my $atime1 = localtime $atime;
print "文件访问时间为:$atime1/n";
my $atime2 = &l_time($atime);
print "文件访问时间为:$atime2/n";
my $ctime = -C $File::Find::name;
print "文件索引节点时间为:$ctime/n";
my $ctime1 = localtime $ctime;
print "文件索引节点时间为:$ctime1/n";
my $ctime2 = &l_time($ctime);
print "文件索引节点时间为:$ctime2/n";
print "========================/n";
print time,"/n";
print &l_time(time),"/n";
print &l_time(time-$mtime),"/n";
print "========================/n";
print &l_time(time-$mtime*86400),"/n";
print &l_time(time-$atime*86400),"/n";
print &l_time(time-$ctime*86400),"/n";
}
return $file_num if ($file_num == 1);
}
print "/$a=$a/n";
相关文章推荐
- 比较二个文件的最后修改时间FileListener
- Windows API ——GetFileTime——获取文件时间
- 文件操作命令 touch、file、cp、rm、mv、which、find、ln 命令详情
- find查找系统文件,并显示时间大小
- 利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件
- VS2008_no find file or document无法找到头文件的错误
- 【struts2文件下载】Can not find a java.io.InputStream with the name [downloadFile]...
- oponcv运行时无法找到、打开PDB文件(cannot find or open pdb file),程序已经退出,返回值-1(0xffffff)
- FileLoad文件上传例子
- find 查找指定时间文件
- Linux比较时间&循环处理文件
- 通过比较时间戳避免重复生成文件
- linux命令4 find、三个时间属性、硬链接和软连接、用户名和密码文件、增加和删除用户组、usermod、su、sudo
- FindFirstFile、FindNext递归遍历硬盘的文件
- 转载:c++读写文件和测试程序运行时间的例子
- 使用FindFirstFile和FindNextFile查找某个目录下的所有文件(包括子目录)
- mysq时间戳的比较例子
- 文件磁盘相关函数[14]-获取文件的创建时间 FileAge; FileDateToDateTime
- linux下使用find命令根据系统时间查找文件用法
- linux下find命令和文件的三种时间