Я хочу выполнить несколько условий в своем предложении Powershell If и пытаюсь использовать оператор -AND для его достижения, но, похоже, он просто переходит прямо к предложению else.
В приведенном ниже коде я хочу убедиться, что в обеих папках нет файлов и что существует файл "watcher.txt".
$Success = "C:\temp\Success"
$Failed = "C:\temp\failed"
$watcher = "C:\temp\watcher.txt"
$directoryInfo3 = get-childitem "$Success\\*" -file | Measure-Object
$directoryInfo3.count
$directoryInfo4 = get-childitem "$Failed\\*" -file | Measure-Object
$directoryInfo4.count
if ((test-path -path $Watcher) -AND
($directoryInfo3 -eq 0) -AND
($directoryInfo4 -eq 0)){
Write-host "Success folder and Failed folder are empty, and Watcher file exists."}
else
{Write-host "Not complete yet, rechecking folders."}
Если все три утверждения верны, то я должен увидеть «Папка успеха и папка« Ошибка »пусты, и файл Watcher существует».
Вместо этого я вижу «Еще не выполнено,перепроверка папок. "независимо от того, каково условие, даже если все три верны.