Find out "Owner" of a file as displayed by Windows Explorer
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Darin McCoy
le 8 Juin 2012
Réponse apportée : scivision
le 18 Sep 2024
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 commentaires
Réponse acceptée
Image Analyst
le 9 Juin 2012
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.
0 commentaires
Plus de réponses (2)
Jan
le 9 Juin 2012
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 commentaires
Jan
le 11 Juin 2012
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.
scivision
le 18 Sep 2024
The owner of a file can be found using built-in Java
owner = string(java.nio.file.Files.getOwner(java.io.File(path).toPath(), java.nio.file.LinkOption.values));
0 commentaires
Voir également
Catégories
En savoir plus sur File Operations dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!