我有一个cmdlet具有以下定义:
[CmdletBinding(DefaultParameterSetName="Path",
SupportsShouldProcess=$TRUE)]
param(
[parameter(Mandatory=$TRUE,Position=0)]
[String] $Pattern,
[parameter(Mandatory=$TRUE,Position=1)]
[String] [AllowEmptyString()] $Replacement,
[parameter(Mandatory=$TRUE,ParameterSetName="Path",
Position=2,ValueFromPipeline=$TRUE)]
[String[]] $Path,
[parameter(Mandatory=$TRUE,ParameterSetName="LiteralPath",
Position=2)]
[String[]] $LiteralPath,
[Switch] $CaseSensitive,
[Switch] $Multiline,
[Switch] $UnixText,
[Switch] $Overwrite,
[Switch] $Force,
[String] $Encoding="ASCII"
)
我将cmdlet .ps1文件放在与调用cmdlet的powershell脚本文件相同的文件夹中,如下所示:
Invoke-Expression -Command . \ Replace-FileString.ps1“9595”“NewPort”“c:\ temp”-Overwrite
但是,当我执行我的ps脚本时,我收到以下错误:
Invoke-Expression:找不到接受参数'9595'的位置参数 . 我怎样才能使它工作?谢谢 .