拆分字符串和数字,每个拆分具有唯一 ID

Split string and number each split with unique ID

如何用逗号拆分字符串并 return 每个拆分的编号实例?例如下面的代码

$SourceDir = "D:\SQLServer2016\BackupOne,D:\SQLServer2016\BackupTwo"
$SourceDir -split ','

Returns

D:\SQLServer2016\BackupOne
D:\SQLServer2016\BackupTwo

我也想 return 例如每个字符串的编号实例

D:\SQLServer2016\BackupOne,1
D:\SQLServer2016\BackupTwo,2

这可能吗?

一个简单的方法是创建一个 PSObject

$SourceDir = "D:\SQLServer2016\BackupOne,D:\SQLServer2016\BackupTwo"
$SplitDir = $SourceDir -split ','

$index = 0
$Backups = @()

foreach($dir in $SplitDir)
{
    $index ++
    $Object = New-Object PSObject -Property @{
            Directory = $dir
            BackupNumber = $index
            }

    $Backups += $Object
}

$Backups

听起来你解决了错误的问题,但这里有一个方法。:

$SourceDir = "D:\SQLServer2016\BackupOne,D:\SQLServer2016\BackupTwo"
$i = 1
$SourceDir -split ',' | %{'{0},{1}' -f $_, $i; $i++}