我正在实现自定义PowerShell提供程序.我现在正在处理remove-item cmdlet实现.
RemoveItem方法具有以下签名:
protected override void RemoveItem(string path, bool recurse)
Run Code Online (Sandbox Code Playgroud)
当我输入:Remove-Item .\Myobject -recursePowerShell基础结构为我提供了RemoveItem方法true的recurse参数值.
但是当我输入:Remove-Item.\ MyObject'我得到一个问题:
MyObject中的项目具有子项,未指定Recurse参数.如果继续,所有孩子将被移除该项目.你确定你要继续吗?[Y]是[A]是全部[N]否[L]否全部[S]暂停[?]帮助(默认为"Y"):
我想这个问题是由PowerShell基础设施呈现给我的.这非常好,因为我要删除的对象是一个容器.如果我对上述问题的回答是肯定的,那么PowerShell基础结构不会设置recurse参数.事实上,当RemoveItem调用我的方法时它是错误的.我会除了参数是真的,因为我对问题的回答是肯定的.
我的问题是:
为什么PowerShell没有将bool recurse参数设置为正确的值?
我是否需要以其他方式获得价值(回答问题)?怎么样?
如果以上是不可能的,有没有办法压制这个问题?