PowerShell: как проверить наличие нескольких условий (наличие папки) - PullRequest
9 голосов
/ 14 октября 2010

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

Ответы [ 3 ]

14 голосов
/ 14 октября 2010

Что не так со следующим?

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

}
2 голосов
/ 14 октября 2010

Подсказка:

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

0 голосов
/ 04 сентября 2017

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

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

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

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

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

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

То же самое для небытия:

if ((Test-Path $arraywithpaths) -contains $false) {...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...