Powershell では、除外パラメーターを取るさまざまなコマンドから除外するファイルのリストを作成しようとしていますGet-ChildItem
。
私が扱っているファイルはさまざまなプロジェクトに属し、特定のプロジェクト A の場合、ファイルprojA.1
、などのように連続したページ番号を表します。ページ番号の 1 つのリスト(ファイルではない)projA.2
を作成できるようにしたいと考えています。除外されますが、そのリストを複数のプロジェクトに適用するので、私がやりたいことは、プロジェクト名に連結され、除外パラメーターとして渡される除外ページ番号の配列を持つことです。ただし、これを行うコンパクトな方法があるかどうかはわかりません。これが私がこれまでに持っているものです:
# Source and destination projects with files named projA.1, projA.2,...,projA.n, etc.
$sourceProject = "projA"
$destProject = "projB"
# List of pages which will be excluded
$pageExclusions =@(
"1",
"27",
"28",
"29",
"30",
"31",
"32",
"33",
"34",
"35",
"36",
"37",
"38",
"40")
$sourceExclusions = @()
foreach($i in $pageExclusions){
$sourceExclusions = $sourceExclusions + ($sourceProject + "." + $i)
}
# ... later I will use $sourceExclusions as an exclude filter, e.g.:
Get-ChildItem projA.* -Exclude $sourceExclusions
# and I'd need to repeat the same for projB
私のコード例では、「sourceExclusions
は新しい配列であり、同じ長さです$pageExclusions
が、各エントリは「projA
からの対応する拡張子を持つファイル名です」というコンパクトな表記法はあります$pageExclusions
か?
または、さらに良いことに、両方を除外パラメーターに直接渡す方法があり、それが解釈されて$sourceExclusions
.