So verwenden Sie die Switch -Anweisung in PowerShell

So verwenden Sie die Switch -Anweisung in PowerShell
Bedingte Logik ist ein Konzept, das in jeder Programmiersprache implementiert wird. Es wird verwendet, um eine Bedingung zu überprüfen, unabhängig davon. Beispielsweise kann eine bedingte Logik den Status des freien Speicherplatzs in einem Skript bewerten, das einen Bericht über die gesamte DISC -Space -Nutzung erstellt, die als normal, warnt oder kritisch markiert ist, basierend auf einem vorgegebenen Schwellenwert.

Power Shell Bietet Befehle oder CMDlets für die Regulierung des Ausführungsflusss Ihrer Skripte, genau wie viele andere Sprachen und die “schalten”Aussage ist eine von ihnen. Heute werden wir das Thema unter behandeln So verwenden Sie Switch -Anweisungen in PowerShell.

Was ist die Switch -Anweisung in PowerShell??

In Power Shell, Der Switch -Befehl oder die Anweisung werden verwendet, um zahlreiche zu verarbeiten “Wenn"Aussagen oder mit anderen Worten, wir können sagen, dass es mehrere ersetzt"ansonsten”Aussagen. Ansonsten Anweisungen können verwendet werden, um eine einzelne Bedingung in einem Skript oder einer Funktion zu überprüfen. Switch -Anweisungen werden jedoch zur Bewertung vieler verwendet. “Wenn”Aussagen.

Im Vergleich zu mehreren “Wenn”Aussagen, Switch -Anweisungen sind einfacher für die Codierung zu implementieren. Jede Aussage hat eine Bedingung, und wenn einer von ihnen ist “WAHR,„Dann wird ein gewisser Betrieb durchgeführt, der im Block von Switch -Fällen angegeben ist. Hier ist das Flussdiagramm der Schaltanweisung:

Syntax der Switch -Anweisung

Der "SchaltenIst das Schlüsselwort, das zum Hinzufügen einer Switch -Anweisung in Ihr Skript verwendet wird. Der "WertIst der Parameter, der zum Definieren der “verwendet wird“Ausdruck”Von irgendetwas“Wert”, Die unter Testbedingungen verwendet werden. In lockigen Zahnspangen , Definieren Sie Ihre ““Bedingungen”Getrennt und innerhalb dieser lockigen Zahnspangen von Bedingungen geben die Operationen an, die ausgeführt werden sollen, wenn die Bedingung getestet wird “WAHR”.

schalten ()

Operation 1
Operation 2

Verwenden der Switch -Anweisung in PowerShell

Demonstrieren So verwenden Sie den Switch -Befehl in PowerShell, Wir werden ein PowerShell -Skript erstellen. Öffne dein Windows PowerShell Ise und erstellen Sie eine neue Datei.

In diesem Skript wird die Switch -Anweisung erfolgen “3"Als Bedingung und druckt den Zustand des Zustands aus, wenn einer der Fälle mit dem" übereinstimmt "3”.

Schalter (3)
1. Januar"
2 "Februar"
3 "March"

Speichern Sie das Skript als "TestFile1.PS1”Und führen es aus.

Switch -Anweisung zur Übereinstimmung der numerischen Werte in PowerShell

Verwenden Sie eine Switch -Anweisung, um verschiedene Bedingungen zu überprüfen. Der Switch -Fall ähnelt einer Reihe von “Wenn”Aussagen, aber es bietet eine einfache Methode für seine Implementierung. Jede Bedingung und der Betrieb werden im Switch -Fall hinzugefügt. Wenn eine Bedingung wahr ist, wird die angegebene Operation ausgeführt. Die automatischen Variablen $ Und $ switch Kann in der Switch -Anweisung verwendet werden.

$ tag = 3
Schalter ($ Day)

0 $ result = 'sunday'
1 $ result = 'montag'
2 $ result = 'Dienstag'
3 $ result = 'Mittwoch'
4 $ result = 'Donnerstag'
5 $ result = 'Friday'
6 $ result = 'samstags'

$ Ergebnis

Im folgenden Beispiel der Wert von $ tag entspricht einem der im Switch -Fall angegebenen numerischen Werte, dann wird der Wochentag zu dem hinzugefügt $ Ergebnis Variable. In diesem Beispiel zeigen wir Ihnen eine variable Zuordnung, aber jeder Vorgang kann in diesen Blöcken von Skripts ausgeführt werden.

Dies ausführen “TestFile1.PS1Skript, und es zeigt Ihnen die folgende Ausgabe:

Schalteranweisung für die Übereinstimmung von Saiten in PowerShell

Im vorherigen Beispiel haben wir den numerischen Wert übereinstimmend. Auf die gleiche Weise können Sie ein Skript schreiben, um die Zeichenfolgewerte mithilfe der Switch -Anweisung zu übereinstimmen.

$ item = 'Rolle'
Switch ($ Item)

Komponente

"ist eine Komponente"

Rolle

"Ist eine Rolle"

Standort

"Ist ein Ort"

Schalten Sie die Anweisung mit Wildcards in PowerShell

Wildcards geben an, dass es sich bei der Erkrankung um eine Schnur handelt, die wir als Wildcard verwenden werden. Wenn der übereinstimmende Zustand in der Switch -Hülle keine Zeichenfolge ist, wird die Wildcard -Option ignoriert. Sie können Wildcards in Ihrem Skript verwenden, indem Sie die “verwenden“-Wildcard" Möglichkeit. “-wie" Und "-WildcardOptionen arbeiten auf derselben Logik.

$ Message = 'Warnung, aus dem Speicherplatz aus dem Datenträger'
Switch -WildCard ($ message)

'Fehler*'

Write -Irror -Message $ Nachricht

'Warnung*'

Schreibwarning -Message $ message

Standard

Schreibinformation $ message

Schalteranweisung mit Regex in PowerShell

Regelmäßiger Ausdruck ist ein anderer Name für Regex. Switch -Anweisung überprüft den Wert der Bedingung gegen den regulären Ausdruck oder den “-Regex”. Wenn die übereinstimmende Bedingung keine Zeichenfolge ist, ignoriert die Switch -Anweisung auch die Regex -Option.

switch -regex ($ message)

'^Fehler'

Write -Irror -Message $ Nachricht

'^Warnung'

Schreibwarning -Message $ message

Standard

Schreibinformation $ message

Führen Sie das Skript aus, und es gibt Ihnen die folgende Ausgabe:

Schalteranweisung für mehrere Bedingungen, die in PowerShell entsprechen

Die Switch -Anweisung kann an eine Vielzahl von Situationen angepasst werden. Die gleiche Bedingung kann viele Male hinzugefügt werden, und alle werden ausgeführt, wenn jede Aussage wahr ist.

Switch ('Apple')

'Apple' 'Lower Case Apple Match'
'Apple' 'Upper Case Apple Match'
'Apple' 'gemischter Fall Apple Match'

Schalten Sie die Anweisung mit "Weiter" in PowerShell:

Als die "Für Schleife"Funktioniert", "weitermachen”Gehen Sie in die folgende Bedingung oder verlässt den Schalterfall, wenn keine weiteren Bedingungen verfügbar sind. Das vorherige Beispiel kann mithilfe von "umgeschrieben werden"weitermachenAussagen, damit nur eine Anweisung ausgeführt wird.

Switch ('Apple')

'Apfel'

"Lower Case Apple ist abgestimmt"
weitermachen

'Apfel'

"Mixed Case Apple ist abgestimmt"
weitermachen

'APFEL'

"Oberstil Wort ist übereinstimmt"
weitermachen

Schalteranweisung mit "Break" in PowerShell:

Der Schalter wird mit einem "beendet"brechen" Stellungnahme. Für einzelne Werte funktioniert es genauso wie “weitermachen“. Bei der Bearbeitung eines Arrays ist der Unterschied sichtbar. Break unterbricht die Verarbeitung des Switchs und ermöglicht es ihm, mit dem Element weiterzumachen.

$ Messages = @(
"Ein Update wird heruntergeladen"
"In der heruntergeladenen Datei gibt es Fehler"
"System sendet E -Mail:"
"Fehler: Aus dem Speicherplatz heraus"
'...'
)
Switch -WildCard ($ messages)

'Fehler*'

Schreiben -Error -Message $ pitem
brechen

'*Fehler*'

Schreibwarning -Message $ pitem
weitermachen

'*Warnung*'

Schreibwarning -Message $ pitem
weitermachen

Standard

Reportput $ psitem

Die Ausführung des obigen Skripts zeigt Ihnen die folgende Ausgabe an:

Abschluss

Die Switch -Anweisung ist im Vergleich zur Verwendung von zahlreichen “effizient“WennBedingungen, weil es die Ausführungszeit verkürzt. Komplizierte Aufgaben wie die Bewertung von Wildcards und Regex können mit der Switch -Anweisung ausgeführt werden. Dieser Artikel zeigt Ihnen die Methode zur Verwendung von Switch -Anweisungen zum Anpassen von Numerik- und Stringwerten sowie mehrere Bedingungen, die in PowerShell übereinstimmen. Darüber hinaus die Verwendung des “Wildcard","Regex","weitermachen," Und "brechenOptionen werden ebenfalls demonstriert.