如何通过使用标志或参数启动脚本来跳过PowerShell脚本的一部分

如何通过使用标志或参数启动脚本来跳过PowerShell脚本的一部分,powershell,flags,Powershell,Flags,我正在编写一个脚本,为用户提供一个功能菜单,但我也希望能够从任务调度器自动运行脚本,这意味着我需要跳过菜单部分。在启动脚本时,有没有一种方法可以使用标志或参数来实现这一点(例如“script.ps1-auto”跳过包含菜单的编码,或者只使用“script.ps1”启动) 我已经在网上搜索过了,但还没有找到任何我认为适用的东西。我甚至不确定这是否可能,因为我没有找到(或没有找到)信息 script.ps1 script.ps1-自动 如果错误消息不适用,则可以在参数块中使用[switch]参数类型

我正在编写一个脚本,为用户提供一个功能菜单,但我也希望能够从任务调度器自动运行脚本,这意味着我需要跳过菜单部分。在启动脚本时,有没有一种方法可以使用标志或参数来实现这一点(例如“script.ps1-auto”跳过包含菜单的编码,或者只使用“script.ps1”启动)

我已经在网上搜索过了,但还没有找到任何我认为适用的东西。我甚至不确定这是否可能,因为我没有找到(或没有找到)信息

script.ps1 script.ps1-自动


如果错误消息不适用,则可以在参数块中使用
[switch]
参数类型

param( [switch] $auto ) 

if ($auto) {
   # here goes the code if the parameter auto is set
} 
else {

}

另请参见关于如何使用PowerShell处理命令行参数的答案。

只是为了澄清编辑:通常,类似于
[switch]
的内容是PowerShell中的类型文字。放置在参数变量之前,其类型约束(类型)该变量;它放在表达式之前(例如,
[int]'3'
),充当强制转换/灵活类型转换。