【问题标题】:How to skip part of PowerShell script by starting script with flags or arguments如何通过使用标志或参数启动脚本来跳过部分 PowerShell 脚本
【发布时间】:2020-02-08 06:30:55
【问题描述】:

我正在编写一个向用户提供功能菜单的脚本,但我也希望能够从任务调度程序自动运行脚本,这意味着我需要跳过菜单部分。有没有办法在启动脚本时使用标志或参数来做到这一点(比如“script.ps1 -auto”跳过包含菜单的编码,或者只是“script.ps1”开始)

我已经对此进行了互联网搜索,但尚未找到我认为适用的任何内容。鉴于缺乏我找到(或未找到)的信息,我什至不确定这是否可能。

脚本.ps1 script.ps1 -auto

没有到错误消息适用的地步

【问题讨论】:

    标签: powershell flags


    【解决方案1】:

    您可以在参数块中使用[switch] 参数类型。

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

    另请参阅 SO 上的this 答案,了解如何使用 PowerShell 处理命令行参数。

    【讨论】:

    • 只是为了澄清编辑:通常,[switch] 之类的东西是 PowerShell 中的 类型文字。放置在参数变量之前,它type-constrains(类型)该变量;放在表达式之前(例如,[int] '3'),它充当 cast / 灵活的类型转换。
    猜你喜欢
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    相关资源
    最近更新 更多