У меня есть следующее для цикла. Мой вопрос: если я использую оператор continue для первого оператора if, то второй оператор if (saveto) не работает. Из того, что я вижу, я предполагаю, что есть логическая ошибка.
это будет рабочий процесс, как показано ниже:
-Все параметры имеют значение NULL, а параметр SaveTo не имеет значение NULL, фильтр вложений будет выполнен и, во-вторых, если будет выполнен оператор.
-Все параметры не равны NULL, а параметр SaveTo не равен NULL, фильтр вложений не будет выполняться, и, во-вторых, если оператор будет выполнен.
foreach ($attachment in $attachments.value) {
# weed out unwanted attachments
# Use the All siwtch to include them
If (!$All) {
If ($attachment.Size -lt 100000 -and $attachment.contentType -like '*image*') {
#images from less then 100kb
continue
} ElseIf ($attachment.contentType -eq 'application/octet-stream' ) {
#bin files
continue
}
}
If ($SaveTo) {
$timestamp = $attachment.DateTimeLastModified.Replace(':','')
$path = "$SaveTo\$timestamp`_$($attachment.name)"
#$path = "C:\path\" + $attachment.Name
$Content = [System.Convert]::FromBase64String($attachment.ContentBytes)
Set-Content -Path $path -Value $Content -Encoding Byte
}
}