如何在Powershell中调用多个功能

时间:2018-07-24 15:02:53

标签: powershell

PS> 'abcjjadjjnamndabc' -replace 'abc', '$$' 
PS> 'abcjjadjjnamndabc' | foreach { $_ + " end of statement" }

我有2条以上的语句可以独立运行,但是我想一次尝试执行此操作。

我确实尝试过类似下面的操作,但是语法失败。

PS> 'abcjjadjjnamndabc' | foreach { $_ + "end of statement" } |-replace 'abc', '','' 

1 个答案:

答案 0 :(得分:4)

您的主要问题是-replace不是函数,cmdlet或方法。这是PowerShell Operator,这意味着您无法执行|-replace 'abc', ''来传送到其中。

有很多方法可以将它们组合在一起,最简单的方法是交换订单并先进行替换:

'abcjjadjjnamndabc' -replace 'abc', '' | foreach { "$_ end of statement" }

或将管道包装在括号中,然后对结果进行替换:

('abcjjadjjnamndabc' | foreach { "$_ end of statement" }) -replace 'abc', ''

或者(如果您未在搜索/替换中使用正则表达式)将这些类似方法链接在一起:

'abcjjadjjnamndabc'.Replace('abc', '').ForEach({"$_ end of statement"})