powershell参数需要位于脚本的前面吗?

fob*_*ter 1 powershell function

我正在尝试使用可执行代码和函数的脚本,如下所示:

function CopyFiles {
 Param( ... )
...
}

// Parameter for the script
param ( ... ) 

// Executable code
Run Code Online (Sandbox Code Playgroud)

但是,我遇到以下错误:"赋值表达式无效.赋值运算符的输入必须是能够接受赋值的对象,例如变量或属性"

当我在文件末尾列出我的函数时,它表示函数名是未定义的.如何在同一脚本中从可执行代码调用powershell函数?

Ale*_*sht 8

正确的顺序是:

1.Script参数

# Parameter for the script
param([string]$foo) 
Run Code Online (Sandbox Code Playgroud)

2.功能定义

function CopyFiles {
    Param([string]$bar)
    ...
}
Run Code Online (Sandbox Code Playgroud)

3.Script代码

# Executable code
CopyFiles $foo $bar
Run Code Online (Sandbox Code Playgroud)

你为什么要用其他方式呢?

  • 为了完整性:从技术上讲,只要在调用之前定义每个函数,就可以混合脚本代码和函数定义.但是,这只会使代码难以维护,因此最好先定义函数并将实际脚本代码放在最后. (2认同)