Powershell阵列长度

我写了下面的错误陷阱一个空数组,它不起作用。关于我需要的语法有什么想法吗?

$inputstring =   "MyOtherFile.rdl" "MyFile.rdl"
$cleanstring =  $inputstring.replace(""" """,";")
$filearray = $inputstring.split(";")

if (echo @($filearray).length = "0")


{$filearray.length
'No Files Selected'

exit}

else
{$filearray.length}

它返回2表示数组长度,但仍跳到IF的第一部分,并说没有选择文件。

评论
  • xnam
    xnam 回复

    您可以执行以下操作:

    function ValidateArrayLength([string[]] $files) {
        if ($files.length -eq 0) {
            $files.length
            'No Files Selected'
            exit
        }
        else {
            $files.length
        }
    }
    
    $filearray = @("MyOtherFile.rdl", "MyFile.rdl")
    ValidateArrayLength -files $filearray
    
    $filearray = @()
    ValidateArrayLength -files $filearray