将参数传递给函数:无法将参数绑定到参数

时间:2018-08-02 10:51:37

标签: powershell

我收到以下错误消息:

  

不能将参数绑定到参数'FilePath',因为它是一个空字符串。

来自此代码:

$image = "image"
$logfile_name = "log.txt"

cleanup $image $logfile_name

function cleanup($image, $logfile) {
   log_message "message" $logfile
}

function log_message($msg, $logfile) {
    $msg | Tee-Object -Append -FilePath "$logfile"
}

我尝试了不使用引号的情况,我在做什么错了?

编辑:我试图回显该值及其存在的值,但是当我在log_message命令中运行它时,它会说出它的null /空字符串。

1 个答案:

答案 0 :(得分:3)

您的代码对我不起作用,因为您没有使用“函数”一词来创建两个函数:函数cleanup(..)而不是仅cleanup(..),您应该在调用函数之前放入函数脚本。

我对您的代码进行了如下更改,现在可以使用:

function cleanup($image, $logfile) {
   log_message "message" $logfile
}

function log_message($msg, $logfile) {
    $msg | Tee-Object -Append -FilePath "$logfile"
}

$image = "image"
$logfile_name = "log.txt"

cleanup $image $logfile_name