2016-02-09 1 views
0

Если я пытаюсь это в PowerShell против пустого каталога, т.е. каталога на $ad не имеет элементов в нем:Числового сравнения создания небольшого файла

$ad = "C:/Stats/Scripts_ps1/experiment"; 
$items = get-childitem($ad); 
if($items.count>0){write-host "hello"}; 

Это, кажется, бежит хорошо, но когда я смотрю в директории есть крошечный файл под названием 0!

Я предполагаю, что это неправильно if($items.count>0)?

ответ

1

В PowerShell > является stream redirection operator.

Для выполнения a comparison используйте -gt (больше, чем):

if($items.Count -gt 0){ # there is more than zero items } 

Аналогично, другие операторы сравнения следуют той же схеме:

PowerShell C# Meaning 
---------- -- ----------------- 
     -eq == Equals 
     -ne != Not equals 
     -gt > Greater than 
     -lt < Less than 
     -ge >= Greater or equals 
     -le <= Less or equals 
+0

лол ... Я обычно наслаждаясь попытками узнать немного ps ... это весело ... эта ошибка мин заставляет меня смеяться. У этого есть его 'help (" about_comparison_operators ")' – whytheq

+0

@whytheq Не помещайте '()' вокруг своих аргументов, вы сожжете –

+0

, что может пойти не так? – whytheq