PowerShell: как проверить наличие нескольких условий (наличие папки)



Я пишу сценарий для внесения изменений в права доступа к папкам. Прежде чем это произойдет, я хотел бы сделать некоторую проверку, чтобы убедиться, что я работаю в правильном каталоге. Моя проблема заключается в том, как проверить, существуют ли четыре вложенные папки (например, Admin, Workspace, Com и Data) до выполнения сценария. Я предполагаю, что буду использовать Test-Path для каждого каталога.

615   3  

3 ответов:

Что плохого в следующем?

if ( (Test-Path $path1) -and (Test-Path $path2) ) { 

}

Подсказка:

Не забудьте указать -LiteralPath - останавливает любую возможную неверную интерпретацию. Я "был там" (так сказать) с этим, проводя часы отладки кода.

Test-Path может проверять сразу несколько путей. Вот так:

Test-Path "c:\path1","c:\path2"

Выводом будет массив True/False для каждого соответствующего пути.

Это может быть особенно полезно, если у вас есть много файлов/папок для проверки.

Проверьте, существуют ли все пути:

if ((Test-Path $arraywithpaths) -notcontains $false) {...}

Тот же путь для небытия:

if ((Test-Path $arraywithpaths) -contains $false) {...}

Comments

    Ничего не найдено.