Menu Close

Nichtrekursive Suche nach Verzeichnissen mit PowerShell

Vor Kurzem wurde ich gefragt, ob es möglich sei, mit einem PowerShell-Skript einen vordefinierten Pfad nach einem Verzeichnis mit einem bestimmten Namen zu durchsuchen und den vollständigen Pfad bei einem Treffer auszugeben. In diesem Artikel zeige ich die von mir vorgeschlagene Variante des PowerShell-Skripts.

Skript

Der folgende Code zeigt einen Ausschnitt eines komplexeren Skripts:

$targetPath = "C:\Users\myUser\Desktop"

$directoryList = Get-ChildItem -Path $targetPath -Directory

$dirName = "Test"

foreach ($dir in $directoryList){

    if ($dirName -eq ($dir.ToString())){
        echo "Treffer!"
        echo $dir.FullName.ToString();
        ## Hier kommen weitere Operationen, um das Objekt $dir zu manipulieren ##
        break
    }
    else
    {
        # echo "Bin ich nicht!"
    }

}

Die Suche nach dem Verzeichnis ist theoretisch auch ohne Schleife möglich, war aber eine Voraussetzung der ursprünglichen Aufgabenstellung.

Rückgabewert

Führt man das Skript in PowerShell aus, so liefert es den folgenden Rückgabewert:

PS C:\Users\myUser\Desktop> C:\Users\myUser\Desktop\myScript.ps1
Treffer!
C:\Users\myUser\Desktop\Test

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.