2010-10-14 15 views
9

Ich bin gerade dabei, ein Skript zu schreiben, um Änderungen an Ordnerberechtigungen vorzunehmen. Bevor ich das mache, würde ich ein paar Überprüfungen durchführen, um sicherzustellen, dass ich im richtigen Verzeichnis arbeite. Mein Problem ist, wie überprüfe ich, ob vier Unterordner (d. H. Admin, Workspace, Com, & Daten) existiert, bevor das Skript fortschreitet. Ich nehme an, ich würde Test-Path für jedes Verzeichnis verwenden.PowerShell: So überprüfen Sie mehrere Bedingungen (Ordner Existenz)

Antwort

14

Was stimmt nicht mit dem Folgenden?

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

} 
2

Hinweis:

Denken Sie daran, -LiteralPath angeben - stoppt mögliche Fehlinterpretationen. Ich war (sozusagen) dabei und verbrachte Stunden damit, Code zu debuggen.

0

Test-Pfad kann mehrere Pfade gleichzeitig prüfen. Wie folgt:

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

Die Ausgabe wird ein Array von True/False für jeden entsprechenden Pfad sein.

Dies kann besonders hilfreich sein, wenn Sie viele Dateien/Ordner überprüfen müssen.

Überprüfen Sie, ob alle Pfade sind vorhanden:

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

gleiche Art und Weise für die Nicht-Existenz:

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