0

这对我来说很奇怪。运行脚本只会输出其源代码。这是一个MRE。自然,问题也出在更大的脚本上。我要疯到什么程度?

PS C:\src\t> Get-Content -Path .\junk.ps1
[CmdletBinding()]
param (
    [Parameter()]
    [string]$S
)
{
    Write-Host $S
}
PS C:\src\t> .\junk.ps1 -S 'now'

    Write-Host $S

PS C:\src\t> $PSVersionTable.PSVersion.ToString()
7.2.1
4

1 回答 1

1

脚本中的{}大括号定义了一个脚本块文字- 一个可以稍后调用的匿名函数。

删除花括号,Write-Host语句将起作用:

[CmdletBinding()]
param (
    [Parameter()]
    [string]$S
)

Write-Host $S
于 2022-02-24T11:15:19.390 回答