假设我有一个包含以下内容的 .ps1(实际内容并不重要):
param(
[Parameter(Mandatory=$true)]
[string]
$someArgument
)
# Do something risky
Remove-Item "c:\path\$someArgument.txt"
我想在我的脚本(或实际上任何方法)中添加一条确认消息,可以关闭(默认情况下开启)。
.\myscript.ps1 "foo" -Confirm:$false
我怎样才能做到这一点 ?
答案1
使用高级功能,您可以使用称为 ShouldProcess 的功能。
在脚本顶部,您可以添加一个名为 [CmdletBinding] 的属性
[CmdletBinding(
SupportsShouldProcess=$true,
ConfirmImpact="High"
)]
一旦你有了这个,在函数主体中,你需要使用 if 语句
if ($pscmdlet.ShouldProcess($thingIamGoingToChange))
查看帮助 about_advanced_functions 和帮助 about_functions_cmdletbinding。