如何将函数放入我希望能够直接调用的Powershell脚本文件中?

时间:2014-07-15 15:07:13

标签: powershell

如果我有一个我想能够直接调用的powershell脚本文件,称为Find-MyThing,如何在其中添加一个函数供它使用?

基本上,我想写一个这样的文件:

Param(
[Parameter(ValueFromPipeline=$true)]
  $ThingReference)

process{
     $intermediateValue =  DoSomeProcessing($ThingReference)
     $finalValue = DoSomeMoreProcessing($intermediateValue)
     return $finalValue
}

Function DoSomeProcessing($thing){...}

Function DoSomeMoreProcessing($thing){...}

但是Powershell并不喜欢我在文件中有单独的功能。我可以在函数中包含主处理,但是没有办法从文件外部实际调用它。

这可能吗?或者我应该完全不同地处理事情?

1 个答案:

答案 0 :(得分:3)

发现它!

我可以将这些函数放在begin块中,并定义它们以供以后使用!

Param(
  [Parameter(ValueFromPipeline=$true)]
  $ThingReference)

begin{
Function DoSomeProcessing($thing){...}

Function DoSomeMoreProcessing($thing){...}
}


process{
     $intermediateValue =  DoSomeProcessing($ThingReference)
     $finalValue = DoSomeMoreProcessing($intermediateValue)
     return $finalValue
}