Zoeken…


Invoering

Een operator is een personage dat een actie vertegenwoordigt. Het vertelt de compiler / tolk om een specifieke wiskundige, relationele of logische bewerking uit te voeren en een eindresultaat te produceren. PowerShell interpreteert op een specifieke manier en categoriseert dienovereenkomstig zoals rekenkundige operatoren bewerkingen voornamelijk op getallen uitvoeren, maar ze beïnvloeden ook strings en andere gegevenstypen. Naast de basisoperators heeft PowerShell een aantal operators die tijd en codeerinspanningen besparen (bijvoorbeeld: -like, -match, -replace, enz.).

Rekenkundige operatoren

1 + 2      # Addition
1 - 2      # Subtraction
-1         # Set negative value
1 * 2      # Multiplication
1 / 2      # Division
1 % 2      # Modulus
100 -shl 2 # Bitwise Shift-left
100 -shr 1 # Bitwise Shift-right

Logische operatoren

-and # Logical and
-or  # Logical or
-xor # Logical exclusive or
-not # Logical not
!    # Logical not

Opdrachtexploitanten

Eenvoudig rekenen:

$var = 1      # Assignment. Sets the value of a variable to the specified value
$var += 2     # Addition. Increases the value of a variable by the specified value
$var -= 1     # Subtraction. Decreases the value of a variable by the specified value
$var *= 2     # Multiplication. Multiplies the value of a variable by the specified value
$var /= 2     # Division. Divides the value of a variable by the specified value
$var %= 2     # Modulus. Divides the value of a variable by the specified value and then
              # assigns the remainder (modulus) to the variable

Verhogen en verlagen:

$var++   # Increases the value of a variable, assignable property, or array element by 1
$var--   # Decreases the value of a variable, assignable property, or array element by 1

Vergelijkingsoperatoren

PowerShell-vergelijkingsoperatoren bestaan uit een voorloopstreepje ( - ) gevolgd door een naam ( eq voor equal , gt voor greater than , enz ...).

Namen kunnen worden voorafgegaan door speciale tekens om het gedrag van de operator te wijzigen:

i # Case-Insensitive Explicit (-ieq)
c # Case-Sensitive Explicit (-ceq)

Hoofdletterongevoelig is de standaardwaarde indien niet opgegeven ("a" -eq "A") hetzelfde als ("a" -ieq "A").

Eenvoudige vergelijkingsoperatoren:

2 -eq 2    # Equal to (==)
2 -ne 4    # Not equal to (!=)
5 -gt 2    # Greater-than (>)
5 -ge 5    # Greater-than or equal to (>=)
5 -lt 10   # Less-than (<)
5 -le 5    # Less-than or equal to (<=)

Stringvergelijkingsoperatoren:

"MyString" -like "*String"            # Match using the wildcard character (*)
"MyString" -notlike "Other*"          # Does not match using the wildcard character (*)
"MyString" -match "$String^"          # Matches a string using regular expressions
"MyString" -notmatch "$Other^"        # Does not match a string using regular expressions

Operatoren voor het vergelijken van collecties:

"abc", "def" -contains "def"            # Returns true when the value (right) is present
                                        # in the array (left)
"abc", "def" -notcontains "123"         # Returns true when the value (right) is not present
                                        # in the array (left)
"def" -in "abc", "def"                  # Returns true when the value (left) is present
                                        # in the array (right)
"123" -notin "abc", "def"               # Returns true when the value (left) is not present
                                        # in the array (right)

Omleidingsoperators

Succes outputstroom:

cmdlet > file     # Send success output to file, overwriting existing content
cmdlet >> file    # Send success output to file, appending to existing content
cmdlet 1>&2       # Send success and error output to error stream

Fout uitgangsstroom:

cmdlet 2> file    # Send error output to file, overwriting existing content
cmdlet 2>> file   # Send error output to file, appending to existing content
cmdlet 2>&1       # Send success and error output to success output stream

Waarschuwing uitvoerstroom: (PowerShell 3.0+)

cmdlet 3> file    # Send warning output to file, overwriting existing content
cmdlet 3>> file   # Send warning output to file, appending to existing content
cmdlet 3>&1       # Send success and warning output to success output stream

Uitgebreide uitvoerstroom: (PowerShell 3.0+)

cmdlet 4> file    # Send verbose output to file, overwriting existing content
cmdlet 4>> file   # Send verbose output to file, appending to existing content
cmdlet 4>&1       # Send success and verbose output to success output stream

Foutopsporingsoutputstroom: (PowerShell 3.0+)

cmdlet 5> file    # Send debug output to file, overwriting existing content
cmdlet 5>> file   # Send debug output to file, appending to existing content
cmdlet 5>&1       # Send success and debug output to success output stream

Informatie-outputstroom: (PowerShell 5.0+)

cmdlet 6> file    # Send information output to file, overwriting existing content
cmdlet 6>> file   # Send information output to file, appending to existing content
cmdlet 6>&1       # Send success and information output to success output stream 

Alle outputstromen:

cmdlet *> file    # Send all output streams to file, overwriting existing content
cmdlet *>> file   # Send all output streams to file, appending to existing content
cmdlet *>&1       # Send all output streams to success output stream

Verschillen met de pijpexploitant ( | )

Omleidingsoperators leiden alleen streams door naar bestanden of streams naar streams. De pijpexploitant pompt een object door de pijpleiding naar een cmdlet of de uitvoer. Hoe de pijplijn werkt, verschilt in het algemeen van hoe omleiding werkt en is te lezen op Werken met de PowerShell-pijplijn

Operandtypen mengen: het type linkeroperand bepaalt het gedrag.

Voor toevoeging

"4" + 2         # Gives "42"
4 + "2"         # Gives 6
1,2,3 + "Hello" # Gives 1,2,3,"Hello"
"Hello" + 1,2,3 # Gives "Hello1 2 3"

Voor vermenigvuldiging

"3" * 2   # Gives "33"
2 * "3"   # Gives 6
1,2,3 * 2 # Gives 1,2,3,1,2,3
2 * 1,2,3 # Gives an error op_Multiply is missing

De impact kan verborgen gevolgen hebben voor vergelijkingsoperatoren:

$a = Read-Host "Enter a number"
Enter a number : 33
$a -gt 5
False

Stringmanipulatie-operators

Vervang operator:

De -replace operator vervangt een patroon in een invoerwaarde met een gewone expressie. Deze operator gebruikt twee argumenten (gescheiden door een komma): een regulier expressiepatroon en de vervangende waarde (die optioneel is en standaard een lege string).

"The rain in Seattle" -replace 'rain','hail'        #Returns: The hail in Seattle
"[email protected]" -replace '^[\w]+@(.+)', '$1'  #Returns: contoso.com

Operators splitsen en deelnemen:

De operator -split splitst een string in een array van -split .

"A B C" -split " "      #Returns an array string collection object containing A,B and C.

De operator -join voegt een reeks strings samen in een enkele string.

"E","F","G" -join ":"   #Returns a single string: E:F:G


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow