我正在尝试将文件名作为参数传递给powershell。当我用test-path检查条件时,它抛出异常。
if ( Test-path -path $argv[0] ) {
&"$MsbuildBinPath\Msbuild.exe" $MSBuildFile "/t:BuildAll" "$Logger" "$ErrorLogger" "/p:AllComponents=$argv[0]"
if ($LastExitCode -ne 0) {
Write-Host "It failed, send a mail"
}
我试着像下面这样称呼它
U:\Scripts>Powershell -file "U:\Scripts\Build.ps1" List.txt
如下所示抛出异常
Cannot index into a null array.
At U:\Scripts\Build.ps1:37 char:29
+ if ( Test-path -path $argv[ <<<< 0] -IsValid ) {
+ CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
答案 0 :(得分:2)
看起来像一个错字。该名称没有变量 - $ argv,将其更改为$ args。