ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Unix-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ°Π·Π²ΠΈΡΡ Π»ΡΡΡΠ΅ ΡΠ΅ΠΌ Π² Windows, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ.
ΠΠ»Ρ PowerShell ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΌ ΠΌΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ Π΄Π°ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄, ΡΠΈΠΊΠ»Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΌΠ°ΡΡΠΈΠ²Ρ, Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠ»Π°ΡΡΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅:
ΠΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΠΈΠ»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²Π·ΡΡΡ Windows PowerShell ISE ΠΈΠ· ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Microsoft. ΠΡΠΆΠ½ΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²: ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π½Π°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡΠΎΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΡΡ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΠ΄Ρ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΎΡΡΡΡΠΏΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ:
# ΠΠ»Ρ ΡΡΡΠΎΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΡΠ΅ΡΠ΅ΡΠΊΠΈ β ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ.
<#
Π’Π°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ΅ΠΊΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ.
#>
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΈΡ ΡΠΈΠΏΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² PowerShell β ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠΊΠ²Ρ ΠΈ ΡΠΈΡΠ»Π°. ΠΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» $, Π° ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ΅ ΠΈΠΌΡ:
ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ) ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ (ΡΠΈΠΌΠ²ΠΎΠ» =):
$test = 100
ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΅Π΅ ΡΠΈΠΏΠ° Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ (ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ²) ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ:
[int]$test = 100
$test = [int]100
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² PowerShell β ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΠΊΠ»Π°ΡΡΡ) ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΡΠΈΠΏΡ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² .NET Core. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅:
Π’ΠΈΠΏ (ΠΊΠ»Π°ΡΡ .NET)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°
[string] System.StringΡΡΡΠΎΠΊΠ° UnicodeΒ
$test = Β«ΡΠ΅ΡΡΒ»
$test = ‘ΡΠ΅ΡΡ’
ΡΠΈΠΌΠ²ΠΎΠ» Unicode (16 Π±ΠΈΡ)
[char]$test = ‘c’ [bool] System.BooleanΠ±ΡΠ»Π΅Π²ΡΠΊΠΈΠΉ ΡΠΈΠΏ (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True ΠΈΠ»ΠΈ False)
[bool]$test = $true [int] System.Int32ΡΡΠΈΠ΄ΡΠ°ΡΠΈΠ΄Π²ΡΡ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (32 Π±ΠΈΡΠ°)
[int]$test = 123456789 [long] System.Int64ΡΠ΅ΡΡΠΈΠ΄Π΅ΡΡΡΠΈΡΠ΅ΡΡΡΠ΅Ρ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (64 Π±ΠΈΡΠ°)
[long]$test = 12345678910 [single] System.SingleΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΡ Π² 32 Π±ΠΈΡΠ°
[single]$test = 12345.6789 [double] System.DoubleΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΡ Π² 64 Π±ΠΈΡΠ° (8 Π±Π°ΠΉΡ)
[double]$test = 123456789.101112 [decimal] System.DecimalΡΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΡ Π² 128 Π±ΠΈΡ (ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ d Π½Π° ΠΊΠΎΠ½ΡΠ΅)
[decimal]$test = 12345.6789d [DateTime] System.DateTimeΠ΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡΒ
$test = Get-Date
[array] System.Object[]ΠΌΠ°ΡΡΠΈΠ², ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0
$test_array = 1, 2, Β«ΡΠ΅ΡΡΒ», 3, 4
[hashtable] System.Collections.HashtableΡ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ β Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ: @{ΠΊΠ»ΡΡ = Β«Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β»}
$test_hashtable = @{one=Β«ΠΎΠ΄ΠΈΠ½Β»; two=Β«Π΄Π²Π°Β»; three=Β«ΡΡΠΈΒ»}
PowerShell ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ², ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° Ρ ΠΎΠ΄Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ), Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ β Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° GetType():
$test.GetType().FullName
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. ΠΡ
ΡΠΏΠΈΡΠΎΠΊ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ:
Get-Variable | more
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ ΠΊ ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°. ΠΠΎΡΠ»Π΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΠΎΠ½ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ.
Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ (ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°. ΠΠ΅Π»ΡΡΡΡ ΠΎΠ½ΠΈ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ PowerShell Ρ ΡΠ°Π½ΡΡΡΡ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅Π»ΡΠ·Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΠΈΡ ΡΠΈΡΠ»Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, $PWD:
$PWD.Path
ΠΠ»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½ΡΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ $ErrorActionPreference Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°ΠΌ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Variable:. Π Π°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ, Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ:
Get-ChildItem Variable: | more
ΠΈΠ»ΠΈ
ls Variable: | more
ΠΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² PowerShell ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ (Scope). ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (Global) ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅Π°Π½Ρ β Π² Π½Π΅Π΅ Π²Ρ ΠΎΠ΄ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ (Local) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ: ΡΠΊΠ°ΠΆΠ΅ΠΌ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡΡ Π΅ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΡ (Script), Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠΊΡΠΈΠΏΡΠ° ΠΎΠ½Π° ΠΏΠΎ ΡΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌ Π·Π°Π΄Π°Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° ΡΡΠΎΠ±Ρ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π½ΡΠΆΠ½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΠΈΠ΄Π°: $Global: ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
$Global:test = 100
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (ΡΡΠ΅Π΄Ρ)
ΠΠ· PowerShell Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅Π²Π΄ΠΎΠ½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ Env:, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ΅Π΄Ρ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΎΠ½ΠΈ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (Ρ.Π΅. ΠΈΠ· ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π²ΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅Π°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ) ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ Get-ChildItem ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ (Π°Π»ΠΈΠ°ΡΡ): ls ΠΈ dir.
dir Env:
ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°ΠΉΡΠΎΠ² (ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ ΡΠ³ΠΎΠ΄Π½ΠΎ), ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ *-Variable Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π½ΠΈΠΌ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Π΄ΠΈΡΠΊΠ°:
$env:TEST = "Hello, World!"
ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ
Π PowerShell Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ: + (ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅), β (Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅), * (ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅), / (Π΄Π΅Π»Π΅Π½ΠΈΠ΅) ΠΈ % (ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ»ΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ). Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π° Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΡΡΠ΅ΠΉ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. ΠΡΠΎΠ±Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ, ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ + ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ * ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΠΊ ΡΡΡΠΎΠΊΠ΅ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² ΡΡΡΠΎΠΊΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΠ·ΡΠΊΠ΅ PowerShell Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ True ΠΈΠ»ΠΈ False:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°
-eq
Equal / Π Π°Π²Π½ΠΎ (Π°Π½Π°Π»ΠΎΠ³ = ΠΈΠ»ΠΈ == Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ )
$test = 100
$test -eq 123Β
-ne
Not equal / ΠΠ΅ ΡΠ°Π²Π½ΠΎ (Π°Π½Π°Π»ΠΎΠ³ <> ΠΈΠ»ΠΈ !=)
$test = 100
$test -ne 123Β Β Β
-gt
Greater than / ΠΠΎΠ»ΡΡΠ΅ (Π°Π½Π°Π»ΠΎΠ³ >)
$test = 100
$test -gt 123
-ge
Greater than or equal / ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (Π°Π½Π°Π»ΠΎΠ³ >=)
$test = 100
$test -ge 123
-lt
Less than / ΠΠ΅Π½ΡΡΠ΅ (Π°Π½Π°Π»ΠΎΠ³ <)
$test = 100
$test -lt 123Β Β
-le
Less than or equal / ΠΠ΅Π½ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ (Π°Π½Π°Π»ΠΎΠ³ <=)
$test = 100
$test -le 123
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΡ. ΠΡ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°ΡΡΡΡ . Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ <, > ΠΈ = Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° = ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ: +=, -=, *=, /= ΠΈ %=. ΠΠ½ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΡΠ½Π°ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ++ ΠΈ —, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β ΠΎΠ½ΠΈ ΡΠΎΠΆΠ΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π»ΡΠ±ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ²: -and, -or, -xor, -not ΠΈ!.. Π Π°Π±ΠΎΡΠ°ΡΡ ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ:
("Π’Π΅ΡΡ" -eq "Π’Π΅ΡΡ") -and (100 -eq 100)
-not (123 -gt 321)
!(123 -gt 321)
Π£ΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π² PowerShell ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅: IF(IFβ¦ELSE, IFβ¦ELSEIFβ¦ELSE) ΠΈ SWITCH. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ :
[int]$test = 100
if ($test -eq 100) {
Write-Host "test = 100"
}
[int]$test = 50
if ($test -eq 100) {
Write-Host "test = 100"
}
else {
Write-Host "test <> 100"
}
[int]$test = 10
if ($test -eq 100) {
Write-Host "test = 100"
}
elseif ($test -gt 100) {
Write-Host "test > 100"
}
else {
Write-Host "test < 100"
}
[int]$test = 5
switch ($test) {
0 {Write-Host "test = 0"}
1 {Write-Host "test = 1"}
2 {Write-Host "test = 2"}
3 {Write-Host "test = 3"}
4 {Write-Host "test = 4"}
5 {Write-Host "test = 5"}
default {Write-Host "test > 5 ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ"}
}
Π¦ΠΈΠΊΠ»Ρ
Π ΡΠ·ΡΠΊΠ΅ PowerShell Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΡΠΈΠΊΠ»ΠΎΠ²: WHILE, DO WHILE, DO UNTIL, FOR ΠΈ FOREACH.
Π¦ΠΈΠΊΠ» Ρ ΠΏΡΠ΅Π΄ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ/ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ:
[int]$test = 0
while ($test -lt 10) {
Write-Host $test
$test = $test + 1
}
Π¦ΠΈΠΊΠ»Ρ Ρ ΠΏΠΎΡΡΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΎΡΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ DO WHILE ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΏΠΎΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, Π° DO UNTIL β ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π»ΠΎΠΆΠ½ΠΎ:
[int]$test = 0
do {
Write-Host $test
$test = $test + 1
}
while ($test -lt 10)
[int]$test = 0
do {
Write-Host $test
$test = $test + 1
}
until ($test -gt 9)
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π° FOR ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅:
for ([int]$test = 0; $test -lt 10; $test++) {
Write-Host $test
}
Π ΡΠΈΠΊΠ»Π΅ FOREACH ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ):
$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
Write-Host $item
}
ΠΠ°ΡΡΠΈΠ²Ρ
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PowerShell Ρ ΡΠ°Π½ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΡΠΈΡΠ»ΠΎ, ΡΡΡΠΎΠΊΠ° ΠΈ Ρ.Π΄.), Π½ΠΎ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅. Π‘Π°ΠΌΠ°Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ β ΠΌΠ°ΡΡΠΈΠ²Ρ. ΠΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ, Ρ.Π΅. Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ»Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ @(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π°ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ β ΠΎΠ½ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²), ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π·Π°Π΄Π°Ρ:
$test_array = @() #ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ²
ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ (ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ,):
$test_array = @(1, 2, 3, 4) # ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ @() ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΡΡΠΈΡΡ:
$test_array = 1, 2, 3, 4
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
$test_array = , 1
ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ Ρ Π½ΡΠ»Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ):
$test_array[0] = 1
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, Π² Ρ.Ρ. ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ:
$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "ΡΡΠΈ", "ΡΠ΅ΡΡΡΠ΅"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ..
(Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ β ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π²Π΅ΡΡ
Π½Π΅ΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΎΡΡΠ΅Π·ΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ 1..4 Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² @(1, 2, 3, 4), Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ 8..5 β ΠΌΠ°ΡΡΠΈΠ² @(8, 7, 6, 5).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ($test_array = 1..4) ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π· (slice), Ρ.Π΅. ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ -1 ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, -2 β ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈ Ρ.Π΄.
$test_array = "ΠΎΠ΄ΠΈΠ½", "Π΄Π²Π°", "ΡΡΠΈ", "ΡΠ΅ΡΡΡΠ΅"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ:
$test_array[0..100]
ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ $null.
Π PowerShell ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ Π±ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ:
$test_array = 1, 2, "ΡΠ΅ΡΡ", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
Write-Host $test_array[$i]
}
ΠΠ΄Π΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ $test_array.count β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Π₯ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΡΠ·ΡΠΊΠ΅ PowerShell β Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. Hashtable ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° JSON object ΠΈ ΡΡΡΠΎΡΡΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° β ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ).
ΠΡΡΡΠ°Ρ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° @ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΎΠΊ:
$test_hashtable = @{}
ΠΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΡΡΠΈ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
$test_hashtable = @{one="ΠΎΠ΄ΠΈΠ½"; two="Π΄Π²Π°"; three="ΡΡΠΈ"; "some key"="some value"}
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅ΠΉ Π΅ΡΠ΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Add(). ΠΡΠ»ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ, Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ. ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Remove().
$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "ΡΠ΅ΡΡΡΠ΅")
$test_hashtable.five = "ΠΏΡΡΡ"
$test_hashtable['five'] = "Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅"
$test_hashtable.Remove("one")
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠ°ΠΌ β Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΈΠ·ΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠΈΠΏ β PSCustomObject.
Π€ΡΠ½ΠΊΡΠΈΠΈ
Π ΡΠ·ΡΠΊΠ΅ PowerShell Π΅ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ»Ρ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Function, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠ΅Π»ΠΎ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
function ΠΈΠΌΡ-ΡΡΠ½ΠΊΡΠΈΠΈ (Π°ΡΠ³ΡΠΌΠ΅Π½Ρ1, ..., Π°ΡΠ³ΡΠΌΠ΅Π½ΡN)
{
ΡΠ΅Π»ΠΎ-ΡΡΠ½ΠΊΡΠΈΠΈ
}
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β ΡΡΠΎ ΠΌΠ°ΡΡΠΈΠ² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΡΠ΅Ρ Π΅Π΅ ΡΡΠ΅ΠΉΡΠΌΠ΅Π½ΡΠΎΠ², Π΅ΡΠ»ΠΈ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. ΠΡΠ»ΠΈ ΡΡΠ΅ΠΉΡΠΌΠ΅Π½Ρ ΠΎΠ΄ΠΈΠ½, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏΠ°. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ return $value Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ $value ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ statement list, Π° ΠΏΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ $null.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ:
function sqr ($number)
{
return $number * $number
}
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² ΡΠ΅Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π΄ΠΎ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π² PowerShell ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΌ: Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ) Π½Π΅ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ.
sqr 2
ΠΈΠ»ΠΈ ΡΠ°ΠΊ:
sqr -number 2
ΠΠ·-Π·Π° ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°ΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠΈ:
function test_func ($n) {}
test_func -eq $null # ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ
(test_func) -eq $null # ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ β $true
ΠΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
function func ($arg = value) {
#ΡΠ΅Π»ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ
}
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° β Π²ΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ².
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
Π PowerShell ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Tryβ¦Catchβ¦Finally, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. Π Π±Π»ΠΎΠΊ Try ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, Π° Π² Π±Π»ΠΎΠΊ Catch β Π΅Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ Π±ΡΠ»ΠΎ, ΠΎΠ½ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠ»ΠΎΠΊ Finally Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π±Π»ΠΎΠΊΠ° Try Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π° Π±Π»ΠΎΠΊΠΎΠ² Catch ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ². Π‘Π°ΠΌΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ($_) ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΎ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π·Π°ΡΠΈΡΡ ΠΎΡ Π²Π²ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
try {
[int]$test = Read-Host "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ"
100 / $test
} catch {
Write-Warning "ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ"
Write-Host $_
}
ΠΠ° ΡΡΠΎΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ PowerShell ΡΡΠΎΠΈΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΡΠ°ΡΡΡΡ
ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠΎΠ², ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com