Powershell函数未接收参数

Powershell函数未接收参数,powershell,parameters,arguments,Powershell,Parameters,Arguments,我有一个Powershell脚本。我的最终目标是比较这两个Excel文件,突出两个版本的差异。我的“预备守则”的一部分是: 我的问题是,对$OutFile变量的GenerateData函数的参数调用由于某种原因无法工作。所有其他参数似乎都已成功传递,例如工作簿。但是如果我在GenerateData函数的开头插入Write Host$OutFile,则该字符串为空(如果我没有弄错的话,这意味着它不会被传递) 我相信这是很容易解释的,但我似乎无法理解这一点 谢谢你,祝你好运 西蒙,我明白了。我的问题

我有一个Powershell脚本。我的最终目标是比较这两个Excel文件,突出两个版本的差异。我的“预备守则”的一部分是:

我的问题是,对$OutFile变量的GenerateData函数的参数调用由于某种原因无法工作。所有其他参数似乎都已成功传递,例如工作簿。但是如果我在GenerateData函数的开头插入
Write Host$OutFile
,则该字符串为空(如果我没有弄错的话,这意味着它不会被传递)

我相信这是很容易解释的,但我似乎无法理解这一点

谢谢你,祝你好运


西蒙,我明白了。我的问题是main方法中的语法。被其他语言所吸引,我想我需要括号和逗号来传递参数。然而,使用Powershell要简单得多:

$ResultsFile1 = GenerateData $WorkBook1 $OutFile1
$ResultsFile2 = GenerateData $WorkBook2 $OutFile2
CompareObjects $ResultsFile1 $ResultsFile2
CloseExcel
这就成功了!唯一奇怪的是,如果您坚持使用括号逗号样式的编码,Powershell不会抛出错误。这个论点根本无法通过

$ResultsFile1 = GenerateData $WorkBook1 $OutFile1
$ResultsFile2 = GenerateData $WorkBook2 $OutFile2
CompareObjects $ResultsFile1 $ResultsFile2
CloseExcel