我正在实施自定义PowerShell提供程序。我现在正在处理remove-item cmdlet实现。PowerShell自定义提供程序RemoveItem
的RemoveItem方法具有以下特征:
protected override void RemoveItem(string path, bool recurse)
当我键入:Remove-Item .\Myobject -recurse
PowerShell的基础设施为我提供了在RemoveItem方法的recurse
参数的值true
。
然而,当我键入:删除-项目\ myObject的”,我得到了一个问题:
该项目在为MyObject有儿童和没有指定Recurse参数进行。如果你继续, 所有的孩子将被删除与该项目。你确定你要继续吗? [Y]是[A]全是[N]否[L]全否暂停帮助(默认为 “Y”)[S] [?]:
我想这个问题提交给我的PowerShell基础设施。这很好,因为我想删除的对象是一个容器。如果我对上述问题回答“是”,PowerShell基础结构不会设置递归参数。实际上,当我调用RemoveItem
方法时,它是错误的。我会除了参数是真实的,因为我对这个问题回答是肯定的。
我的问题是:
为什么PowerShell的不是布尔递归参数设置为正确的价值?
我是否需要以其他方式获得值(回答问题)?怎么样?
如果上述不可行,是否有办法抑制这个问题?