how to separate mac address on windows...?
    9 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
system ('getmac'); When i run this command it return 3 mac address... Is it Possible to separate this all 3 mac address or fatch any one of them ?
0 comentarios
Respuestas (1)
  Xiangrui Li
      
 el 1 de Mayo de 2017
        For Windows:
[~, a] = system ('getmac');
mac = regexp(a, '([0-9A-F]{2}-){5}[0-9A-F]{2}', 'match', 'once'); % get first one in string
mac = regexp(a, '([0-9A-F]{2}-){5}[0-9A-F]{2}', 'match'); % get all in cellstr
For OSX and Linux, it is a slightly different:
[~, a] = system ('ifconfig');
mac = regexp(a, '([0-9a-f]{2}:){5}[0-9a-f]{2}', 'match', 'once'); % get first one in string
mac = regexp(a, '([0-9a-f]{2}:){5}[0-9a-f]{2}', 'match'); % get all in cellstr
If java is available, it is faster than system command, and the solution is OS-independent:
ni = java.net.NetworkInterface.getNetworkInterfaces;
while ni.hasMoreElements
    m = ni.nextElement.getHardwareAddress;
    if numel(m)==6 && ~all(m==0) % accept it if length==6 and not all zeros
        mac = typecast(m, 'uint8'); % uint8 format
        mac = sprintf('%02X-%02X-%02X-%02X-%02X-%02X', mac); % Windows hex format
        % mac = sprintf('%02x:%02x:%02x:%02x:%02x:%02x', mac); % unix hex format
        break; % stop after finding first one, likely ethernet adaptor
    end
end
0 comentarios
Ver también
Categorías
				Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

