ForEach和一个管道

时间:2017-10-22 14:31:04

标签: powershell

这是一个初学者问题。我使用这个简单的命令在文件夹中提取有关PDF文件的-Property信息:

Get-ChildItem -Filter "*.pdf" | Select-Object -Property *

它完美无缺。

但是当我尝试使用Foreach cmdlet做同样的事情时,我没有得到任何结果......有人可以告诉我我在哪里犯了错误吗?< / p>

Foreach-Object ($_ in Get-ChildItem)
{If ($_.extension -eq ".pdf") {Select-Object -Property *}}

我也试过这个:

Get-ChildItem -Filter "*.pdf" | Foreach-Object ($_) {Select-Object -Property *}

我的目标是学习如何使用此命令,但我遗漏了一些东西。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

首先,除了查看该文件类型的所有现有属性之外,您不会在foreach中特别选择任何内容。您可以直接将当前管道对象传递给select-object

Get-ChildItem "C:\Folder\ChildFolder\*" -Include "*.pdf" |ForEach-Object{ $_ |Select-Object -Property *}

希望它对你有所帮助。