我如何将参数传递给 PowerShell 脚本?

文章讲述了如何在PowerShell脚本itunesForward.ps1中通过命令行传入参数,如步长,以便动态改变脚本中的固定值,如使iTunes快进的时间。讨论了参数传递的语法和高级参数的使用方法。
摘要由CSDN通过智能技术生成

内容来自 DOC https://q.houxu6.top/?s=我如何将参数传递给 PowerShell 脚本?

有一个名为 itunesForward.ps1 的 PowerShell 脚本,用于使 iTunes 快进 30 秒:

$iTunes = New-Object -ComObject iTunes.Application

if ($iTunes.playerstate -eq 1)
{
  $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}

它通过命令行命令来执行:

powershell.exe itunesForward.ps1

是否有可能从命令行传递参数,并将其应用于脚本中而不是硬编码的 30 秒值?


经测试,下面是可工作的代码示例:

# 必须是脚本中的第一条语句(不包括注释)
param([Int32]$step=30) 

$iTunes = New-Object -ComObject iTunes.Application

if ($iTunes.playerstate -eq 1)
{
  $iTunes.PlayerPosition = $iTunes.PlayerPosition + $step
}

调用方式如下:

powershell.exe -file itunesForward.ps1 -step 15

多个参数的语法示例(注释是可选的,但允许存在):

<#
    脚本描述。

    一些注释。
#>
param (
    # 最大列高度(不包含顶部栏)
    [int]$h = 4000,
    
    # 输出图像的名称
    [string]$image = 'out.png'
)

以下是一些高级参数的示例,例如强制性参数,更多信息请参阅高级参数

<#
    脚本描述。

    一些注释。
#>
param (
    # 最大列高度(不包含顶部栏)
    [Parameter(Mandatory=$true)]
    [int]$h,
    
    # 输出图像的名称
    [string]$image = 'out.png'
)

Write-Host "$image $h"

默认值在必需参数中不起作用。对于布尔类型的高级参数,可以省略=$true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值