5

我有两个数组,其中包含一系列字符串,其中包含从文本文件中获取的信息。然后我使用 For 循环遍历两个数组并一起打印出字符串,这恰好创建了文件夹目标和文件名。

Get-Content .\PostBackupCheck-TextFile.txt | ForEach-Object { $a = $_ -split ' ' ; $locationArray += "$($a[0]):\$($a[1])\" ; $imageArray += "$($a[2])_$($a[3])_VOL_b00$($a[4])_i000.spi" }

以上获取一个文本文件,将其拆分为单独的部分,将一些信息存储到 中locationArray和其他信息中imageArray,如下所示:

locationArray[0]将会L:\Place\

imageArray[0]将会SERVERNAME_C_VOL_b001_i005.spi

然后我运行一个 For 循环:

for ($i=0; $i -le $imageArray.Length - 1; $i++) 
    {Write-Host $locationArray[$i]$imageArray[$i]}

但它在 theL:\Place\和 the之间放置了一个空格SERVERNAME_C_VOL_b001_i005.spi

所以它变成:L:\Place\ SERVERNAME_C_VOL_b001_i005.spi

相反,它应该是:L:\Place\SERVERNAME_C_VOL_b001_i005.spi

我该如何解决?

4

1 回答 1

4

选项 #1 - 为了获得最佳可读性:

{Write-Host ("{0}{1}" -f $locationArray[$i], $imageArray[$i]) }

选项 #2 - 有点混乱,可读性较差:

{Write-Host "$($locationArray[$i])$($imageArray[$i])" }

选项 #3 - 比 #2 更具可读性,但行数更多:

{
  $location = $locationArray[$i];
  $image = $imageArray[$i];
  Write-Host "$location$image";
}
于 2012-11-17T22:22:01.550 回答