Powershell测试路径引发错误

时间:2011-12-26 13:53:51

标签: powershell powershell-v2.0

我正在尝试将文件名作为参数传递给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

1 个答案:

答案 0 :(得分:2)

看起来像一个错字。该名称没有变量 - $ argv,将其更改为$ args。