переменные передачи powershell throw throw / catch - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь использовать команду try / catch с оператором if, чтобы проверить, что каталог существует (надеюсь, это правильное решение!?) , но у меня возникла проблема с установкой и передачей значения переменной $ RepoDir в оператор catch

try {

    if (Notexists -Path $RepoDoc) {
       $RepoDir = "a"
       -ErrorAction Stop
    } 
    if (Notexists -Path $RepoExcel) {
       $RepoDir = "b"
       -ErrorAction Stop
    }
    if (Notexists -Path $RepoAttach) {
       $RepoDir = "c"
       -ErrorAction Stop
    }
}
catch {
   Write-Host "Directory $RepoDir not exist !" ---> Directory not exist ! 
   break
}

Это проблема объема?
Как я мог это сделать?
Спасибо

1 Ответ

0 голосов
/ 05 ноября 2018

Правильный способ сделать то, что вы хотите, будет выглядеть примерно так:

$RepoDoc, $RepoExcel, $RepoAttach | Where-Object {
    -not (Test-Path -LiteralPath $_)
} | ForEach-Object {
    "Directory ${_} does not exist."
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...