Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 接受参数和管道输入的自定义PowerShell函数_Function_Powershell - Fatal编程技术网

Function 接受参数和管道输入的自定义PowerShell函数

Function 接受参数和管道输入的自定义PowerShell函数,function,powershell,Function,Powershell,目前我有下面的代码,它不适合我。 我希望它表现得像这样 some-output-from-some-function | FILTER_DATA 或 使用下面的函数(不包括$id),我需要捕获 某些函数的某些输出是可更改的,并按如下方式执行(这不适合我): 请帮忙。我希望它是通用的,而不是特定于一个或两个 论点 Function FILTER_DATA ($id){ [CmdletBinding()] Pa

目前我有下面的代码,它不适合我。 我希望它表现得像这样

some-output-from-some-function | FILTER_DATA

使用下面的函数(不包括$id),我需要捕获 某些函数的某些输出是可更改的,并按如下方式执行(这不适合我):

请帮忙。我希望它是通用的,而不是特定于一个或两个 论点

Function FILTER_DATA ($id){
                      [CmdletBinding()]
                      Param(
                            [Parameter(ValueFromPipeline)]
                            $item
                           )
       $item | % {$PSItem.replace("&lt;","<").replace("&gt;",">")} |
               % {$PSItem -replace "<table>", "$description<table class=sortable id=$id" `
                          -replace "</table>","</table></span>" `
}}
函数过滤器\u数据($id){
[CmdletBinding()]
Param(
[参数(ValueFromPipeline)]
$item
)
$item |%{$PSItem.replace(“,”)}|
%如果参数是在函数声明中传递的,{$PSItem-replace“”“$descriptionParam()不能使用。在您的例子中,您在声明函数时传递了
$ID
。您可以使用下面的代码,这些代码应该可以正常工作

Function FILTER_DATA {
                      [CmdletBinding()]
                      Param(
                            [Parameter(ValueFromPipeline)]$item,
                            $ID
                            )
       $item | % {$PSItem.replace("&lt;","<").replace("&gt;",">")} |
               % {$PSItem -replace "<table>", "$description<table class=sortable id=$id" `
                          -replace "</table>","</table></span>" `}
}
函数过滤器\u数据{
[CmdletBinding()]
Param(
[参数(ValueFromPipeline)]$项,
$ID
)
$item |%{$PSItem.replace(“,”)}|

%{$PSItem-replace”“”$descriptionIt如果能看到您的错误就好了。hmmm,将此自定义函数的输出传递给另一个自定义函数如何…例如:“$a”|FILTER_DATA | FILTER_01您需要配置
FILTER_01
以接受管道中的
ValueFromPipeline
,它应该可以工作。您需要从
FILTER_DATA
函数返回值,该函数可以通过管道传输到
FILTER_01
函数。在
FILTER_DATA
函数中,它不会返回任何内容,因此
FILTER_01
会返回任何内容我没有任何意见。
Function FILTER_DATA ($id){
                      [CmdletBinding()]
                      Param(
                            [Parameter(ValueFromPipeline)]
                            $item
                           )
       $item | % {$PSItem.replace("&lt;","<").replace("&gt;",">")} |
               % {$PSItem -replace "<table>", "$description<table class=sortable id=$id" `
                          -replace "</table>","</table></span>" `
}}
Function FILTER_DATA {
                      [CmdletBinding()]
                      Param(
                            [Parameter(ValueFromPipeline)]$item,
                            $ID
                            )
       $item | % {$PSItem.replace("&lt;","<").replace("&gt;",">")} |
               % {$PSItem -replace "<table>", "$description<table class=sortable id=$id" `
                          -replace "</table>","</table></span>" `}
}