Массив Powershell: не содержит метод с именем Contains - PullRequest
0 голосов
/ 09 июля 2019

У меня есть этот код Powershell:

$find_filesize = @(123, 395, 4929, 92345)
#$fpath is a file item
$fsize = (Get-Item $fpath).length
if ( $find_filesize.Contains($fsize) ) { 
... }

Но он возвращает эту ошибку:

Method of invocation failed because [System.Object[]] doesn't contain a method named 'Contains'.
At powershell.ps1:4
+ if ( $find_filesize.Contains($fsize) ) { 

Я также пытался:

[]int32[]]$$find_filesize = 123, 395, 4929, 92345

Но этовыдает ту же ошибку.

Что мне не хватает?Из того, что я понимаю, я определяю это как массив.

1 Ответ

0 голосов
/ 09 июля 2019

Попробуйте так:

$find_filesize = @(123, 395, 4929, 92345)
#$fpath is a file item
$fsize = (Get-Item $fpath).length
if ( $find_filesize -match $fsize ) { 
... }

Вы можете сделать это и с оператором contains.Я всегда выбираю match в качестве моего оператора, хотя.Вы не можете вызывать метод содержимого для массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...