我有两个数组,其中包含一系列字符串,其中包含从文本文件中获取的信息.然后,我使用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" }
Run Code Online (Sandbox Code Playgroud)
上面是一个文本文件,将它分成单独的部分,将一些存储到其中的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]}
Run Code Online (Sandbox Code Playgroud)
但它在L:\Place\和之间留出了一个空间SERVERNAME_C_VOL_b001_i005.spi
所以它变成: L:\Place\ SERVERNAME_C_VOL_b001_i005.spi
相反,它应该是: L:\Place\SERVERNAME_C_VOL_b001_i005.spi
我该如何解决?
选项#1 - 为了获得最佳可读性:
{Write-Host ("{0}{1}" -f $locationArray[$i], $imageArray[$i]) }
Run Code Online (Sandbox Code Playgroud)
选项 #2 - 有点混乱,可读性较差:
{Write-Host "$($locationArray[$i])$($imageArray[$i])" }
Run Code Online (Sandbox Code Playgroud)
选项 #3 - 比 #2 更具可读性,但行数更多:
{
$location = $locationArray[$i];
$image = $imageArray[$i];
Write-Host "$location$image";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6985 次 |
| 最近记录: |