我正在實施自定義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的不是布爾遞歸參數設置爲正確的價值?
我是否需要以其他方式獲得值(回答問題)?怎麼樣?
如果上述不可行,是否有辦法抑制這個問題?