Get-ChildItemを使用してフォルダー内の最新のファイルを処理する関数があります。フォルダー内の最新の増分バックアップを見つけて、それをマウントする EXE ファイルのスクリプトを作成する必要があります。ただし、この同じフォルダ内には、すべての異なるサーバーに対して複数のバックアップ チェーンがあります。つまり、
SERVER1_C_VOL_b001_i015.spi
SERVER2_D_VOL_b001_i189.spi
SERVER1_C_VOL_b002_i091.spi
SERVER1_E_VOL_b002_i891.spi (This is the newest file created)
私は だけを見たい、 だけを見たいSERVER1
、C_VOL
そしてだけを見たいb001
- 他には何もない。
ドライブ文字、サーバー名、配列に格納されている b00X 番号など、すべての個別のコンポーネントがあります。
Get-ChildItem
次に、-Include
フィルターを使用して、次のもののみを表示するにはどうすればよいですか。
.spi
SERVER1
C_VOL
b001
テキスト ファイルから取得した配列にこれらの個別のコンポーネントがすべてあるとします。
Get-Content .\PostBackupCheck-TextFile.txt | Select-Object -First $i { $a = $_ -split ' ' ; $locationArray += "$($a[0]):\$($a[1])\$($a[2])" ; $imageArray += "$($a[2])_$($a[3])_VOL_b00$($a[4])_i$($a[5]).spi" }
試してフィルタリングすると、行き詰まります。
$latestIncremental = Get-ChildItem -Path ${shadowProtectDataLocation}\*.* -Include *.spi | Sort-Object LastAccessTime -Descending | Select-Object -First 1
.spi をフィルター処理しましたが、C (ボリューム)、b00x の番号、およびサーバー名を含めるにはどうすればよいですか?