How to get drive name?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ethan Goldstein
am 8 Mai 2020
Bearbeitet: Eivind Hennestad
am 25 Nov. 2022
I am trying to get the drive name, not just the drive letter. For example, I have my 'C' drive and it is called 'OSDisk'. Given I know the drive I want to find the name of ('C'), what function should I call to get the name 'OSDisk'?
0 Kommentare
Akzeptierte Antwort
per isakson
am 8 Mai 2020
Bearbeitet: per isakson
am 8 Mai 2020
On Windows this function works with my local drives
>> DriveName( 'C' )
ans =
'OSDisk'
>> DriveName( 'D' )
ans =
'DATA'
>>
where
function drive_name = DriveName( drive_letter )
cmd_str = sprintf( 'dir %s:\\zzzzzz', drive_letter );
[~,msg] = system( cmd_str );
cac = strsplit( msg, '\n' );
has = contains( cac, 'Volume in drive');
drive_name = regexp( cac{has}, '(?<= is ).+$', 'match', 'once' );
end
A bit better
function drive_name = DriveName( drive_letter )
cmd_str = sprintf( 'vol %s:', drive_letter );
[~,msg] = system( cmd_str );
cac = strsplit( msg, '\n' );
drive_name = regexp( cac{1}, '(?<= is ).+$', 'match', 'once' );
end
3 Kommentare
per isakson
am 8 Mai 2020
This is the most universal I can think of
function drive_name = DriveName( drive_letter )
if ismac
% Code to run on Mac platform
elseif isunix
% Code to run on Linux platform
elseif ispc
% Code to run on Windows platform
else
disp('Platform not supported')
end
end
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu File Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!