2010-10-14 25 views
9

Estoy en el proceso de escribir una secuencia de comandos para realizar cambios en los permisos de la carpeta. Antes de hacerlo, me gustaría verificar si estoy trabajando en el directorio correcto. Mi problema es cómo verifico si hay cuatro subcarpetas (es decir, Admin, Workspace, Com, & Data) antes de que la secuencia de comandos progrese. Supongo que usaría Test-Path en cada directorio.PowerShell: cómo comprobar si hay varias condiciones (existencia de carpeta)

Respuesta

14

¿Qué pasa con lo siguiente?

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

} 
2

Consejo:

recuerde especificar -LiteralPath - hacen paradas mala interpretación posible. He estado "allí" (por así decirlo) con este código de depuración de horas.

0

Ruta de prueba puede verificar varias rutas a la vez. De esta manera:

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

La salida será una matriz de verdadero/falso para cada ruta correspondiente.

Esto podría ser especialmente útil si tiene muchos archivos/carpetas para verificar.

Comprobar si todos los caminos son existe:

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

La misma manera de la no existencia:

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