2010-10-14 3 views
9

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

ответ

14

Что случилось со следующим?

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

} 
2

Подсказка:

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

0

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

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

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

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

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

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

Точно так же для небытия:

if ((Test-Path $arraywithpaths) -contains $false) {...} 
Смежные вопросы