0
我有一个对象集合(数万个),每个对象都包含一个包含文件路径的属性作为字符串。这些在下面的代码中被命名为$ fileObjects。通过字符串数组筛选对象集合
(i.e.
$fileObject.FilePath = "\\root\folder1\foldera\folderb\folderc"
$fileObject.FilePath = "\\root\foo\bar\fldr1"
$fileObject.FilePath = "\\bar\foo\folder3"
).
我也有一个小的字符串集合,每个字符串是一个文件路径
(i.e.
"\\root\folder1",
"\\root\folder2",
"\\root\folder3" etc.
)
的起始部分,这些字符串被称为$下面的代码路径。
我想过滤(而不是使用foreach循环)所有的$ fileObjects,这样我就可以只返回文件路径以$ paths string集合中的一个值开始的对象。
下面的代码不工作,但它是我想要做什么:
foreach($path in $paths)
{
# Get all $fileObjects where FilePath property starts with $path
#
$subfolders = $fileObjects.FolderPath.StartsWith($path)
# Now process the $subfolders
}
我还没有找到一种简洁的方式来做到这一点没有的foreach循环每$文件对象agains每$路径。
你试图做的事情非常让我想起像SQL这样的语言中的关系连接。这不是一个解决方案,但我注意到你已经得到了一个可以接受的答案。令我惊讶的是,PS没有关系连接操作,虽然我看到其他脚本编写人员做了一些努力。 –