Предполагается, что выходные данные из первой строки соответствуют следующим строкам:
$test = @("Install,ODFX0001000WEN00", "Install,RAMP0001600WEN00", "Install,VC101003031WEN00", "Install,WEST0005000WEN00", "Install,CLNT0010203NEN00", "Install,NLS10010202WEN00", "Install,ODCR0010050WEN00", "Install,STAR0036000WEN00")
Мы можем сделать следующее. Я изменил '16' во второй подстроке, чтобы взять длину строки
$test = @("Install,ODFX0001000WEN00", "Install,RAMP0001600WEN00", "Install,VC101003031WEN00", "Install,WEST0005000WEN00", "Install,CLNT0010203NEN00", "Install,NLS10010202WEN00", "Install,ODCR0010050WEN00", "Install,STAR0036000WEN00")
$package = ($test).replace("Install,", "")
$first = ($package).substring(0,4)
$second = ($test).replace("Install,", "").substring(4, $test.Length)
for ($i = 0; $i -lt $first.Count; $i++)
{
Test-Path "C:\$($first[$i])\$($second[$i])"
}
Чтобы объяснить проблему, возникающую при выводе строки, вместо вывода одного объекта из массива вы выводите полный массив каждый раз. Это из-за кавычек.
Если вы удалите кавычки вокруг $second[$i]
, это даст ожидаемый результат.
$test = @("Install,ODFX0001000WEN00", "Install,RAMP0001600WEN00", "Install,VC101003031WEN00", "Install,WEST0005000WEN00", "Install,CLNT0010203NEN00", "Install,NLS10010202WEN00", "Install,ODCR0010050WEN00", "Install,STAR0036000WEN00")
$package = ($test).replace("Install,", "")
$first = ($package).substring(0,4)
$second = ($test).replace("Install,", "").substring(4, $test.Length)
for ($i = 0; $i -lt $first.Count; $i++)
{
$second[$i]
}