how to get UNC path for mapped drive path

17 views (last 30 days)
Albert Passy
Albert Passy on 3 May 2018
Edited: Prof. X on 21 Feb 2022
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.

Answers (1)

Prof. X
Prof. X on 21 Feb 2022
Edited: Prof. X on 21 Feb 2022
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.

Community Treasure Hunt

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

Start Hunting!