如何获取文件所有者名称?

时间:2011-01-13 05:46:46

标签: windows perl

是否有perl脚本添加文件的所有者/作者姓名?

2 个答案:

答案 0 :(得分:7)

my $owner = getpwuid((stat($file))[4]);

有关详细信息,请参阅statgetpwuid

适用于Windows的

更新

来自这篇文章:http://www.perlmonks.org/?node_id=865219

use Win32::OLE;
  my $objShell = Win32::OLE->CreateObject("Shell.Application");
  my $objFolder=$objShell->Namespace("c:\\a") or die "$!" ;
  my $a = $objFolder->ParseName("a.txt")  or die "$!" ;
  print $objFolder->GetDetailsOf($a, 8) or die "$!" ;

,或者

 use Win32::Perms;
 my $username = Win32::Perms->new($filename)->Owner;

答案 1 :(得分:1)

#!/usr/bin/perl -w

my @sb = stat "/etc/passwd";
my $userid = $sb[4];
my @pwent = getpwuid $userid;
my $username = $pwent[0];

print "/etc/passwd is owned by $username\n";


$ /tmp/foo.pl 
/etc/passwd is owned by root

perldoc perlfunc指南提供了有关这些功能系列的大量信息。