首页 > 解决方案 > 如何只取出字符串的一部分

问题描述

我们想在 Oracle VirtualBox 中暂停一个在内部网络上使用的虚拟机,当我们列出虚拟机时,我会得到以下输出,但要暂停虚拟机,我只需要列出虚拟机名称,因为人们将创建自己的虚拟机所以不能具体命名。问题只是我的powershell技能不是那么好,当我尝试使用拆分或替换时,我遇到了一个关于弯曲括号空间的错误,我想要结束的只是VM名称WIN10_VM1但是如何懂吗?

“WIN10_VM1”{bd9e16dc-1a1a-4340-aed2-af3b72f25c4f}
“win2019”{20fb95cb-2fb3-48f8-a69d-a1e00ca014b5}

标签: powershellvirtualbox

解决方案


PowerShell 公开了整个 .NET 环境。所以你可以使用Sytem.String.Substring()方法。

& "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" | ForEach-Object { $_.Substring(0, $_.IndexOf("{")).Replace(" ", "") }

推荐阅读