首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell Where-Object -in子句

Powershell Where-Object -in子句
EN

Stack Overflow用户
提问于 2015-04-28 12:23:40
回答 1查看 2.9K关注 0票数 2

我正在尝试删除一些孤立文件夹。我有一个孤立的文件夹名列表,并且我试图找到相应的File对象。总之,我似乎无法像我所期望的那样让-in条款发挥作用。

一个略为做作的例子:

代码语言:javascript
复制
$orphans = ls | select Name
ls | ?{$_.Name -in $orphans}
ls -Include $orphans

不返回任何文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-28 12:26:19

为了让它起作用,你需要去做

代码语言:javascript
复制
$orphans = ls | select -ExpandProperty Name

或者在Where-Clause内部

代码语言:javascript
复制
ls | ?{$_.Name -in $orphans.name}

代码中的$orphans是一个具有name属性的对象数组。将该属性分解为一个简单的字符串数组,您将得到预期的结果。

我还会假设代码示例只是.一个样本。这段代码一旦正确工作,就显得多余了。

Powershell v2

上面的代码在Powershell v2上不起作用。-ExpandProperty-contains的结合似乎纠正了这个问题:

代码语言:javascript
复制
$orphans = ls | select -ExpandProperty Name
ls | ?{$orphans -contains $_.Name}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29919427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档