Find out "Owner" of a file as displayed by Windows Explorer

39 次查看(过去 30 天)
I've seen some files on the FEX that allow you to get creation date / last modified date of a particular file
but does anybody know how to get the name of the "Owner" of a file? (Which is another thing displayed by Windows Explorer so it has to be accessible somehow??)
  3 个评论
Darin McCoy
Darin McCoy 2012-6-8
You can find details on how to show the Owner column here...
http://support.microsoft.com/kb/310297
Jan
Jan 2012-6-9
Thanks, Darin! Now I understand where you find the owner.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2012-6-9
Here's one way:
fileName = 'test.m'; % Some file you're interested in.
commandString = sprintf('dir %s /Q > owner_of_%s.txt', ...
fileName, fileName);
system(commandString)
filebrowser; % Optional - Show current folder panel
% Now open the txt file you just created
% and parse it to find the owner.

更多回答(1 个)

Jan
Jan 2012-6-9
You can use .NET:
finfo = System.IO.FileInfo(FileName);
dummyAccount = System.Security.Principal.NTAccount('dummy');
Owner = char(finfo.GetAccessControl.GetOwner(GetType(dummyAccount)).Value.ToString);
There must be a more direct method to get the NTAccount type instead of creating a dummy account.
The Windows API methods are not trivial and I hesitate to implement them in a function similar to GetFileTime.
  2 个评论
Darin McCoy
Darin McCoy 2012-6-11
not sure how to accept both your answers? but they both worked (so i accepted Image's and voted for yours??)....thanks for the help!
Jan
Jan 2012-6-11
The .NET method includes the host name also, such that file owners of network drives are identified uniquely. The DIR approach does not handle this and demands for a complicated parsing of a text file.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by