if($ping)
{
( $mac | ? { $_ -match $ip } ) -match "([0-9A-F]{2}([:-][0-9A-F]{2}){5})" | out-null;
if ( $matches ) {
Select-String -Pattern '[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}' -Path $matches[0] |
ForEach-Object {$_.Matches[0].Value}
} else {
"Not Found"
}
}
这是我目前正在使用的。不确定我在 PowerShell 中是否正确执行了此操作。
我正在尝试提取 MAC 的前 3 个 XX:XX:XX 以便我可以用它进行比较。我只是不确定比赛结束后的表现如何。
最佳答案
您可以使用删除
来裁剪前 8 个字符:
$mac ='00:0a:95:9d:68:16'
$mac.Remove(8, ($mac.Length -8))
输出:
00:0a:95
您还可以使用正则表达式来完成此操作:
[regex]::Match($mac, '^(.{8})').Groups[1].Value
关于regex - 使用 powershell 提取并打印 MAC 的前 3 个八位字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37465363/