在 Powershell 中,我试图列出要从采用排除参数的各种命令中排除的文件,例如Get-ChildItem
.
我正在处理的文件属于各种项目并表示连续的页码,因此对于给定的项目 A,它会有 files projA.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
”?
或者,更好的是,有没有一种方法可以直接将它们都传递给 exclude 参数,它会解释为导致$sourceExclusions
.