如何通过使用标志或参数启动脚本来跳过部分 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 来不只使用最佳选择的软件包

是否有一种 Pythonic 的方式来跳过 for 循环中的 if 语句以使我的代码运行得更快?

如何应用 Kendo 上下文菜单过滤器来跳过前两个网格列

如何使c ++代码的clang格式跳过部分