PowerShell: как проверить наличие нескольких условий (наличие папки)
Я пишу сценарий для внесения изменений в права доступа к папкам. Прежде чем это произойдет, я хотел бы сделать некоторую проверку, чтобы убедиться, что я работаю в правильном каталоге. Моя проблема заключается в том, как проверить, существуют ли четыре вложенные папки (например, Admin, Workspace, Com и Data) до выполнения сценария. Я предполагаю, что буду использовать Test-Path для каждого каталога.
3 ответов:
Подсказка:
Не забудьте указать
-LiteralPath- останавливает любую возможную неверную интерпретацию. Я "был там" (так сказать) с этим, проводя часы отладки кода.
Test-Path может проверять сразу несколько путей. Вот так:
Test-Path "c:\path1","c:\path2"Выводом будет массив True/False для каждого соответствующего пути.
Это может быть особенно полезно, если у вас есть много файлов/папок для проверки.
Проверьте, существуют ли все пути:
if ((Test-Path $arraywithpaths) -notcontains $false) {...}Тот же путь для небытия:
if ((Test-Path $arraywithpaths) -contains $false) {...}
Comments