Arrays 仅获取数组中包含的文件的子项

Arrays 仅获取数组中包含的文件的子项,arrays,powershell,get-childitem,Arrays,Powershell,Get Childitem,我试图将gci的返回限制为仅返回数组中包含的项。 假设下面的文件夹包含几个文件,所有文件都命名为File_A、File_B等,直到File_Z。我只想返回数组$myArray中包含的文件的名称和大小。按原样运行此代码将返回所有文件,这不是我想要的 $MyDocuments = "C:\Documents\MyFiles" $myArray = @() $myArray += "File_A.txt" $myArray += "File_B.txt" $myArray += "File_C.txt

我试图将
gci
的返回限制为仅返回数组中包含的项。 假设下面的文件夹包含几个文件,所有文件都命名为File_A、File_B等,直到File_Z。我只想返回数组
$myArray
中包含的文件的名称和大小。按原样运行此代码将返回所有文件,这不是我想要的

$MyDocuments = "C:\Documents\MyFiles"
$myArray = @()
$myArray += "File_A.txt"
$myArray += "File_B.txt"
$myArray += "File_C.txt"

cd $MyDocuments
Get-ChildItem * -Filter $myArray | Select-Object Name, Length

我们还可以更清楚/明确地这样做:

$array = New-Object -TypeName System.Collections.Generic.List[string]
$array.Add("File_A.txt")
$array.Add("File_B.txt")
Get-ChildItem | Where-Object {$array.Contains($_.Name)}  | select Name, Length

我们还可以更清楚/明确地这样做:

$array = New-Object -TypeName System.Collections.Generic.List[string]
$array.Add("File_A.txt")
$array.Add("File_B.txt")
Get-ChildItem | Where-Object {$array.Contains($_.Name)}  | select Name, Length

Get Item-LiteralPath$myArray
成功了!谢谢
Get Item-LiteralPath$myArray
成功了!谢谢