如何修剪命令输出?优化PowerShell获取微软账户全名的代码
优化获取微软账户全名的PowerShell代码
你的这段代码确实可以简化,不用重复给$fullName变量赋值,直接通过链式操作或者正则匹配就能一步得到结果:
简化字符串处理版本
$fullName = (Net User $Env:username | Select-String "Full Name").ToString().TrimStart("Full Name").Trim()
直接将Select-String的匹配结果转成字符串,接着修剪掉开头的"Full Name"文本,最后用Trim()清理残留的空格。
更鲁棒的正则匹配版本
如果要避免因输出格式细微变化导致的问题,用正则提取目标内容更可靠:
$fullName = (Net User $Env:username | Select-String 'Full Name\s+:\s+(.*)').Matches.Groups[1].Value.Trim()
这个写法通过正则精准捕获"Full Name"后的实际名称,不会依赖固定的前缀文本长度,适配性更强。
原代码的问题在于分两次给同一个变量赋值,优化后直接在赋值语句内完成所有处理逻辑,代码更简洁高效。
内容的提问来源于stack exchange,提问作者I am Jakoby
相关产品推荐
相关产品推荐

