我正在尝试删除一些孤立文件夹。我有一个孤立的文件夹名列表,并且我试图找到相应的File对象。总之,我似乎无法像我所期望的那样让-in条款发挥作用。
一个略为做作的例子:
$orphans = ls | select Name
ls | ?{$_.Name -in $orphans}
ls -Include $orphans不返回任何文件。
发布于 2015-04-28 12:26:19
为了让它起作用,你需要去做
$orphans = ls | select -ExpandProperty Name或者在Where-Clause内部
ls | ?{$_.Name -in $orphans.name}代码中的$orphans是一个具有name属性的对象数组。将该属性分解为一个简单的字符串数组,您将得到预期的结果。
我还会假设代码示例只是.一个样本。这段代码一旦正确工作,就显得多余了。
Powershell v2
上面的代码在Powershell v2上不起作用。-ExpandProperty和-contains的结合似乎纠正了这个问题:
$orphans = ls | select -ExpandProperty Name
ls | ?{$orphans -contains $_.Name}https://stackoverflow.com/questions/29919427
复制相似问题