如何通过使用标志或参数启动脚本来跳过部分 PowerShell 脚本
Posted
技术标签:
【中文标题】如何通过使用标志或参数启动脚本来跳过部分 PowerShell 脚本【英文标题】:How to skip part of PowerShell script by starting script with flags or arguments 【发布时间】:2020-02-08 06:30:55 【问题描述】:我正在编写一个向用户提供功能菜单的脚本,但我也希望能够从任务调度程序自动运行脚本,这意味着我需要跳过菜单部分。有没有办法在启动脚本时使用标志或参数来做到这一点(比如“script.ps1 -auto”跳过包含菜单的编码,或者只是“script.ps1”开始)
我已经对此进行了互联网搜索,但尚未找到我认为适用的任何内容。鉴于缺乏我找到(或未找到)的信息,我什至不确定这是否可能。
脚本.ps1 script.ps1 -auto
没有到错误消息适用的地步
【问题讨论】:
【参考方案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 / 灵活的类型转换。以上是关于如何通过使用标志或参数启动脚本来跳过部分 PowerShell 脚本的主要内容,如果未能解决你的问题,请参考以下文章
Scrapy:: 如何在 CSS 选择器中使用“not”来跳过元素
尝试添加 --skip-broken 来跳过无法安装的软件包 或 --nobest 来不只使用最佳选择的软件包
尝试添加 --skip-broken 来跳过无法安装的软件包 或 --nobest 来不只使用最佳选择的软件包