Powershell 如何将项目连接到管道?

Powershell 如何将项目连接到管道?,powershell,Powershell,我有一个正则表达式扫描文件,并通过管道从中提取一些值: ls . -Include *.cs -Recurse | Select-String "LoadJsModule" | % { $_ -match 'LoadJsModule\("(\S+?)"'; } | ? { $_ } | % { $matches[1] } | % { do-Something $_ } 这有点像 admin invoices/app warehouses/app 管理 发票/应用程序 仓库/应用程序

我有一个正则表达式扫描文件,并通过管道从中提取一些值:

ls . -Include *.cs -Recurse | Select-String "LoadJsModule" |
   % { $_ -match 'LoadJsModule\("(\S+?)"'; } | ? { $_ } |
   % { $matches[1] } | % { do-Something $_ }
这有点像

admin invoices/app warehouses/app 管理 发票/应用程序 仓库/应用程序 比方说,我注意到我的正则表达式管道得到了我想要它获取的90%的东西,但缺少了一些特殊情况——一个字符串“foo”和一个字符串“bar”。如何将这些内容正确地添加到管道中,使其包含

admin invoices/app warehouses/app foo bar 管理 发票/应用程序 仓库/应用程序 福 酒吧 在我将每个密码传递给
之前,请做些什么


请注意,我知道我可以运行上面的操作,然后
执行foo
执行bar
。有十几种不同的方法来解决这个具体问题。我特别希望提高对PowerShell管道的理解,因此我想知道如何将这些值直接混合到管道中。

您可以通过以下参数的
-End
注入这两个字符串:

-End
指定在处理所有输入对象后运行的脚本块


&{command1;'foo';command2;'bar';command3}{do Something$}
@PetSerAl我不确定这是否符合我上面的代码?看起来它可能是对的,但我只是没有看到它-你能发布一个更通俗的解决方案作为答案,我会接受它吗?我猜应该是问题的第2行<代码>%{$}match'LoadJsModule\(“(\S+?)””;-和'foo'-和'bar'}}}}}?{$}}{$matches[1]}
看看这是否有帮助
ls . -Include *.cs -Recurse | Select-String "LoadJsModule" |
  % { $_ -match 'LoadJsModule\("(\S+?)"'; } | ? { $_ } |
  % -Process { $matches[1] } -End { 'foo', 'bar' } | % { do-Something $_ }
Get-ChildItem -Include *.cs -Recurse |
  Where-Object { $_ -match 'LoadJsModule\("(\S+?)"' } |
  ForEach-Object -Process { $matches[1] } -End { 'foo', 'bar' } |
  ForEach-Object { do-Something $_ }