5

テキスト ファイルから取得した情報を含む文字列の選択を含む 2 つの配列があります。次に、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]}

しかし、それはL:\Place\と の間にスペースを置きます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 に答える