how to get UNC path for mapped drive path
17 次查看(过去 30 天)
显示 更早的评论
I've got x:\path\filename.ext. I want to resolve this to \\MyUnc\Network\path\filename.ext. Any thoughts on how to do this programatically? Thanks.
0 个评论
回答(1 个)
Prof. X
2022-2-21
编辑:Prof. X
2022-2-21
If on Windows, you can use system('net use'). I use the following function in one of my codes. I'm sure there is a more efficient way to code this but this works for me.
function MappedPath = findMappedDrive(DriveLetter)
% DriveLetter is just the letter that represents the drive without a
% colon, type char.
DriveLetter = [DriveLetter ':'];
system('net use >netuseRun.txt')
netuseOpen = fopen('netuseRun.txt');
tScan = textscan(netuseOpen,'%s','Delimiter','\n');
fclose(netuseOpen);
delete('netuseRun.txt');
str = string(tScan{:});
locate = contains(str,DriveLetter);
locatemd = strfind(str(locate),'\\');
conv = char(str(locate));
MappedPath = strtrim(conv(locatemd:end));
end
Sometimes there may be stuff that gets added at the end of the MappedPath like 'Windows Mapped Drive' so you may want to make a check using exist(MappedPath,'dir'). Hope this helps.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!