Powershell 从CSV导入并拆分列
我有一个奇怪的,我有一个从Azure中提取vm信息的小脚本。然后将它们添加到CSV中,并在数据磁盘列中使用**拆分它们 我想我可以导入csv并拆分(基于**)以获得每个数据磁盘 CS的格式为名称、OSdisk、Datadisk下的Datadisk,如下所示 disk1**disk2**disk3**disk4 我如何能够隔离该列并基于** 我的想法是Powershell 从CSV导入并拆分列,powershell,Powershell,我有一个奇怪的,我有一个从Azure中提取vm信息的小脚本。然后将它们添加到CSV中,并在数据磁盘列中使用**拆分它们 我想我可以导入csv并拆分(基于**)以获得每个数据磁盘 CS的格式为名称、OSdisk、Datadisk下的Datadisk,如下所示 disk1**disk2**disk3**disk4 我如何能够隔离该列并基于** 我的想法是 $csv = Import-Csv "C:\temp\vminfo.csv" $list = $csv | select -Property N
$csv = Import-Csv "C:\temp\vminfo.csv"
$list = $csv | select -Property Name, Datadisk
$list.split('**')
但这不起作用,请给我一些建议:)
谢谢:)总是很乐意帮助银色冲浪者;) 试试这个:
import-csv "c:\temp\vminfo.csv" | %{
$current=$_
$_.Datadisk.Split('**') | where {$_ -ne ''} | %{[pscustomobject]@{Name=$current.Name;Disk=$_.trim()}}
}
我在-property之后错误地添加了名称..:(每个虚拟机的数据磁盘数量是否相同?同时,发布几行数据(带有标题)非常有帮助。请确保清理所有私人数据。此外,如果问题不应该在那里,您也可以编辑问题以去掉名称。@EBGreen感谢Ed不知道我可以在发布后编辑问题..将记住这一点以备将来..每个虚拟机上的磁盘数不同,这就是为什么我必须使用e两个星号