gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 03:56:26 30 4
gpt4 key购买 nike

有一个名为 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 秒值?

最佳答案

测试正常:

#Must be the first statement in your script (not counting comments)
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

多参数语法(注释是可选的,但允许):

<#
Script description.

Some notes.
#>
param (
# height of largest column without top bar
[int]$h = 4000,

# name of the output image
[string]$image = 'out.png'
)

以及 advanced parameters 的一些示例,例如强制:

<#
Script description.

Some notes.
#>
param (
# height of largest column without top bar
[Parameter(Mandatory=$true)]
[int]$h,

# name of the output image
[string]$image = 'out.png'
)

Write-Host "$image $h"

默认值不适用于强制参数。对于 bool 类型 [Parameter(Mandatory)] 的高级参数,您可以省略 =$true

关于powershell - 如何将参数传递给 PowerShell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5592531/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com