ʻO ka mōʻaukala, ʻoi aku ka maikaʻi o nā pono laina kauoha ma nā ʻōnaehana Unix ma mua o Windows, akā me ka hiki ʻana mai o kahi hopena hou, ua loli ke kūlana.
Hiki ke kākau ʻia ʻo PowerShell ma kahi ʻōlelo unuhi, multi-paradigm i loaʻa nā ʻano o ke kaʻina hana maʻamau, ka hoʻonohonoho ʻana i nā mea, a me ka hoʻolālā hana: conditional branching, loops, variables, arrays, hash tables, classes, error handling, a me nā hana, cmdlets, a me nā paipu .
Papa o ka waihona:
Hiki iā ʻoe ke kākau i ke code ma kekahi mea hoʻoponopono kikokikona a i ʻole ka hoʻohana ʻana i kahi kaiapuni hoʻomohala hoʻohui ʻia - ʻo ke ala maʻalahi loa ka lawe ʻana i ka Windows PowerShell ISE e hele mai ana me nā ʻōnaehana lawelawe kikowaena Microsoft. Pono wale kēia no nā palapala paʻakikī: ʻoi aku ka maʻalahi o ka hoʻokō ʻana i nā kauoha pōkole.
Comments
ʻO ka hoʻohana ʻana i nā manaʻo i manaʻo ʻia he ʻāpana o ke ʻano papahana maikaʻi me ka indentation kūpono a me ke keʻokeʻo:
# Для строчных комментариев используется символ решетки — содержимое строки интерпретатор не обрабатывает.
<#
Так обозначаются начало и конец блочного комментария.
Заключенный между ними текст интерпретатор игнорирует.
#>
Nā hoʻololi a me ko lākou ʻano
Kapa ʻia nā ʻano like ʻole ma PowerShell i nā mea. Hiki i ko lākou mau inoa ke hoʻokomo i ke ʻano underscore, a me nā leka a me nā helu. Hoʻohana mau ʻia ka hōʻailona $ ma mua o ka inoa, a no ka haʻi ʻana i kahi loli, lawa ia e hāʻawi i ka mea unuhi i ka inoa kūpono:
No ka hoʻomaka ʻana i kahi loli (e hāʻawi i kahi waiwai iā ia), hoʻohana ʻia ka mea hoʻohana (hōʻailona =):
$test = 100
Hiki iā ʻoe ke haʻi aku i kahi loli ma ke kuhikuhi ʻana i kona ʻano ma nā bracket square (type casting operator) ma mua o ka inoa a i ʻole ka waiwai:
[int]$test = 100
$test = [int]100
He mea nui e hoʻomaopopo i nā mea hoʻololi i PowerShell he mau mea piha piha (nā papa) me nā waiwai a me nā ʻano i hoʻokumu ʻia nā ʻano ma luna o ka .NET Core. Hoʻopaʻa mākou i nā mea nui:
ʻAno (. NET papa)
hōʻikeʻano
Laʻana code
[kaula] System.StringUnicode kaula
$ ho'āʻo = "hōʻoia"
$ ho'āʻo = 'hōʻike'
ʻAno Unicode (16 mau ʻāpana)
[char]$test = 'c' [bool] System.Booleanʻano boolean (boolean True or False)
[bool]$test = $ʻoiaʻiʻo [int] Pūnaehana.Int32kanakolukūmālua bit integer (32 bits)
[int]$test = 123456789 [lōʻihi] System.Int64kanaonokūmāhā bit integer (64 bits)
[lōʻihi]$test = 12345678910 [hookahi] System.Singlehelu helu lana 32 bits ka lōʻihi
[hoʻokahi]$hōʻoia = 12345.6789 [pālua] Pūnaehana.Paluahelu lana o ka loa 64 bits (8 bytes)
[pālua]$test = 123456789.101112 [decimal] Pūnaehana.DecimalHelu helu lana 128-bit (pono e hoʻopau me d)
[decimal]$ ho'āʻo = 12345.6789d [Lā manawa]System.DateTimelā a me ka manawa
$ ho'āʻo = GetDate
[hui] Pūnaehana.mea[]he laha e hoʻomaka ana ka index index ma 0
$test_array = 1, 2, "hōʻoia", 3, 4
[hashtable] System.Collections.HashtableʻO nā papaʻaina hash nā hui pū me nā kī i kapa ʻia, kūkulu ʻia e like me ke kumu: @{key = "value"}
$test_hashtable = @{one="one"; ʻelua="ʻelua"; ʻekolu="ʻekolu"}
Kākoʻo ʻo PowerShell i ka hoʻololi ʻana i ke ʻano implicit, ʻo ia hoʻi, hiki ke hoʻololi ʻia ke ʻano o kahi ʻano ma ka lele (no ka laʻana, me ka hoʻohana ʻana i kahi mea hoʻohana hana), inā ʻaʻole i kuhikuhi ikaika ʻia - i kēia hihia, e hāʻawi ka unuhi ʻōlelo i kahi hewa. Hiki iā ʻoe ke hoʻoholo i ke ʻano o ka hoʻololi mai ka laʻana mua ma ke kāhea ʻana i ke ala GetType()
$test.GetType().FullName
Nui nā cmdlet no ka hoʻoponopono ʻana i nā ʻano like ʻole. Hōʻike ʻia kā lākou papa inoa ma kahi ʻano kūpono me ka hoʻohana ʻana i ke kauoha:
Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap
No ka ʻike ʻana i nā mea hoʻololi i haʻi ʻia a me kā lākou mau waiwai, hiki iā ʻoe ke hoʻohana i kahi cmdlet kūikawā:
Get-Variable | more
ʻOi aku ka paʻakikī o kēia ʻano hana, ʻoi aku ka maʻalahi o ka hana ʻana me nā mea hoʻololi ma o nā mea hana a i ʻole ke komo pololei ʻana i kā lākou mau waiwai a me nā ʻano hana. Eia nō naʻe, he kuleana ko nā cmdlet no ka mea e ʻae lākou iā ʻoe e hoʻonohonoho i kekahi mau ʻāpana. He mea nui e hoʻomaopopo i ka wehewehe ʻana o nā mea hoʻohana i loko o ke kau o kēia manawa. Ke pani ʻia ka console a i ʻole ka pau ʻana o ka palapala, holoi ʻia lākou.
Nā hoʻololi pūnaewele
Ma waho aʻe o nā mea i haʻi ʻia e ka mea hoʻohana, aia nā mea i kūkulu ʻia (pūnaewele) ʻaʻole i holoi ʻia ma hope o ka pau ʻana o ke kau o kēia manawa. Hoʻokaʻawale ʻia lākou i ʻelua mau ʻano, ʻoiai ʻo PowerShell state data e mālama ʻia i nā ʻano hoʻololi ʻokoʻa ʻaʻole hiki ke hāʻawi ʻia i nā waiwai kūʻokoʻa iā lākou iho. Aia kēia mau mea, no ka laʻana, $PWD:
$PWD.Path
Pono nā koho koho e mālama i nā makemake o ka mea hoʻohana, hiki ke hoʻololi i nā waiwai. No ka laʻana, me ka hoʻohana ʻana i $ErrorActionPreference, ua hoʻonohonoho ʻia ka pane o ka unuhi ʻōlelo kauoha i ka loaʻa ʻana o nā hewa make ʻole.
Ma waho aʻe o nā mea hoʻohana a me nā cmdlet no ke komo ʻana i nā mea hoʻololi i haʻi ʻia, aia kahi ʻano hoʻololi: pseudo-accumulator. Hiki iā ʻoe ke hana pū me ia ma ka hoʻohālikelike me nā drive ʻē aʻe, a ʻo nā ʻano like ʻole i kēia hihia e like me nā mea ʻōnaehana faila:
Get-ChildItem Variable: | more
ai ole ia,
ls Variable: | more
Nā ʻāpana
No nā hoʻololi i PowerShell, aia ka manaʻo o ka laulā (Scope). ʻO ka hana o ka pae honua (Global) pili i ke kau holoʻokoʻa o kēia manawa - aia, no ka laʻana, nā ʻōnaehana ʻōnaehana. Loaʻa nā ʻano hoʻololi kūloko (Local) wale nō ma ke kiko kahi i wehewehe ʻia ai lākou: e ʻōlelo i loko o kahi hana. Aia kekahi manaʻo o ka laulā o ka palapala (Script), akā no nā kauoha script, ʻo ia ka mea maoli. Ma ka maʻamau, i ka wā e haʻi aku ai i nā mea hoʻololi, hāʻawi ʻia lākou i kahi ākea kūloko, a no ka hoʻololi ʻana i kēia, pono ʻoe i kahi kūkulu kūikawā e like me: $Global: variable = waiwai.
No ka laʻana, e like me kēia:
$Global:test = 100
Nā loli kaiapuni (ka puni)
Loaʻa kekahi pseudo-drive, Env:, mai PowerShell a hiki ke hoʻohana ʻia e kiʻi i nā ʻano hoʻololi kaiapuni. I ka hoʻomaka ʻana o ka pūpū, ua kope ʻia lākou mai ke kaʻina hana makua (ʻo ia hoʻi, mai ka papahana i hoʻomaka i ka hālāwai o kēia manawa) a ʻo ka maʻamau o kā lākou mau waiwai mua e like me nā waiwai i ka papa mana. No ka nānā ʻana i nā ʻano hoʻololi kaiapuni, e hoʻohana i ka Get-ChildItem cmdlet a i ʻole kona mau inoa inoa (aliases): ls a me dir.
dir Env:
ʻO kēia mau ʻano hoʻololi ke kaʻina o nā bytes (a i ʻole nā huaʻōlelo, inā makemake ʻoe), ʻo ka wehewehe ʻana e pili ana i ka papahana e hoʻohana ana iā lākou. ʻAʻole hana nā *-Variable cmdlets me nā mea hoʻololi kaiapuni. No ke komo ʻana iā lākou, pono ʻoe e hoʻohana i ka prefix drive:
$env:TEST = "Hello, World!"
Nā mea hoʻohana helu helu a me ka hoʻohālikelike
Hāʻawi ʻo PowerShell i nā mea hana helu penei: + (hoʻohui), - (unuhi), * (hoʻonui), / (māhele), a me % (modulo a modulo paha). ʻIke ʻia ka hopena o ka haʻi helu helu mai ka hema a i ka ʻākau e like me ke ʻano o nā hana i ʻae ʻia, a hoʻohana ʻia nā pale e hui pū i nā ʻāpana o ka ʻōlelo. ʻAʻole mālama ʻia nā wahi ma waena o nā mea hoʻohana, hoʻohana wale ʻia lākou i mea e maʻalahi ai ka heluhelu ʻana. Hoʻohui pū ka mea hana +, a hana hou ka mea hana * i nā kaula. Inā hoʻāʻo ʻoe e hoʻohui i kahi helu i kahi kaula, e hoʻololi ʻia ia i kahi kaula. Eia kekahi, ʻo ka ʻōlelo PowerShell he nui nā mea hoʻohālikelike e nānā i ka hoʻokūkū ma waena o nā waiwai ʻelua a hoʻihoʻi i ka boolean ʻOiaʻiʻo a i ʻole False:
Operator
hōʻikeʻano
Laʻana code
-eq
Equal / Equals (e like me = a i ʻole == ma nā ʻōlelo ʻē aʻe)
$ hoao = 100
$ hoao -eq 123
-He aha
ʻAʻole like / ʻAʻole like (like me <> a i ʻole !=)
$ hoao = 100
$ hoao -ne 123
-gt
ʻoi aku ma mua o / ʻoi aku (analogue >)
$ hoao = 100
$ hoao -gt 123
-ge
Nui aʻe a i ʻole like / ʻoi aku ma mua o a i ʻole like (e like me >=)
$ hoao = 100
$ hoao -ge 123
-lt
Liʻiliʻi ma mua o / Liʻiliʻi (e like me <)
$ hoao = 100
$ hoao -lt 123
-ka
Liʻiliʻi a i ʻole like / ʻoi aʻe a like paha (e like me <=)
$ hoao = 100
$ hoao -le 123
Aia kekahi mau mea hoʻohana like ʻē aʻe e ʻae iā ʻoe, no ka laʻana, hoʻohālikelike i nā kaula e pili ana i ka wildcard a i ʻole e hoʻohana i nā ʻōlelo maʻamau e hoʻohālikelike i kahi ʻano. E uhi mākou iā lākou ma nā ʻatikala e hiki mai ana. ʻAʻole hoʻohana ʻia nā hōʻailona <, > a me = no ka hoʻohālikelike ʻana no ka mea hoʻohana ʻia lākou no nā kumu ʻē aʻe.
Nā mea hoʻohana hoʻonohonoho
Ma waho aʻe o ka mea maʻamau = mea hoʻohana, aia kekahi mau mea hoʻohana hana: +=, -=, *=, /= a me %=. Hoʻololi lākou i ka waiwai ma mua o ka hāʻawi ʻana. ʻO nā mea hoʻohana unary ++ a me -, ka mea e hoʻonui a hoʻemi paha i ka waiwai o kahi hoʻololi, hana like - pili pū lākou i nā mea hana hoʻonohonoho.
Nā mea hana kūpono
ʻAʻole lawa ka hoʻohālikelike wale ʻana e wehewehe i nā kūlana paʻakikī. Hiki iā ʻoe ke kākau i nā ʻōlelo hoʻohālikelike me ka hoʻohana ʻana i nā mea hoʻohana: -and, -or, -xor, -not and!
("Тест" -eq "Тест") -and (100 -eq 100)
-not (123 -gt 321)
!(123 -gt 321)
Lele Kūlana
He kūlana maʻamau nā mea hoʻohana lālā ma PowerShell: IF(IF…ELSE, IF…ELSEIF…ELSE) a me SWITCH. E nānā kākou i kā lākou hoʻohana ʻana me nā laʻana:
[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 или значение не определено"}
}
Nā pōʻaiapuni
Loaʻa iā PowerShell nā ʻano puka lou: WHILE, DO WHILE, DO UNTIL, FOR, a me FOREACH.
Hoʻohana ka loop me ka precondition inā he ʻoiaʻiʻo:
[int]$test = 0
while ($test -lt 10) {
Write-Host $test
$test = $test + 1
}
E holo ana nā Loops me ka postcondition ma ka liʻiliʻi loa, no ka mea, nānā ʻia ke kūlana ma hope o ka ʻike. I ka manawa like, e hana ʻo DO WHILE me ka ʻoiaʻiʻo o ke kūlana, a me DO UNTIL e hana ʻoiai he wahaheʻe:
[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)
Ua ʻike mua ʻia ka helu o nā ʻike o ka loop FOR:
for ([int]$test = 0; $test -lt 10; $test++) {
Write-Host $test
}
I loko o ka loop FOREACH, e hoʻololi hou i nā mea o kahi laʻana a i ʻole ka hōʻiliʻili (hash table):
$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
Write-Host $item
}
Huina
ʻAʻole mālama nā mea hoʻololi PowerShell i nā mea hoʻokahi wale nō (helu, string, etc.), akā he nui pū kekahi. ʻO ke ʻano maʻalahi o ia mau ʻano he arrays. Hiki i kahi laha ke komo i kekahi mau mea, hoʻokahi mea, a nele paha, ʻo ia. ʻaʻohe mea i loaʻa. Ua haʻi ʻia me ka hoʻohana ʻana i ka @() mea hoʻohana, a mākou e pono ai i ka ʻatikala aʻe - he mea nui ia no ka hoʻohui ʻana i nā arrays ʻē aʻe i kahi array (hana ʻana i nā arrays multidimensional), e hele ana i nā arrays i nā hana ma ke ʻano he hoʻopaʻapaʻa, a me nā hana like:
$test_array = @() #создаем пустой массив
Ke hoʻomaka ʻia kahi array, ua hoʻokaʻawale ʻia kāna mau waiwai e nā koma (mea hoʻohana kūikawā,):
$test_array = @(1, 2, 3, 4) # создаем массив из четырех элементов
I ka nui o nā hihia, hiki ke hoʻokuʻu ʻia ka mea hoʻohana @():
$test_array = 1, 2, 3, 4
I kēia hihia, hoʻomaka ʻia kahi ʻano o kahi mea e like me kēia
$test_array = , 1
Hoʻokomo ʻia nā mea hoʻonohonoho me ka hoʻohana ʻana i ka helu helu helu helu ʻole a me ka mea hoʻohana kuhikuhi (nā ʻāpana ʻāpana):
$test_array[0] = 1
Hiki iā ʻoe ke kuhikuhi i kekahi mau kuhikuhi i hoʻokaʻawale ʻia e nā koma, incl. e hana hou ana:
$test_array = "один", "два", "три", "четыре"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]
Operator ..
(ʻelua kiko - mea hoʻohana laulā) e hoʻihoʻi i kahi ʻano helu i loko o ka palena luna a me lalo. No ka laʻana, hoʻopuka ka huaʻōlelo 1..4 i kahi laha o ʻehā mau mea @(1, 2, 3, 4), a ʻo ka ʻōlelo 8..5 e hoʻopuka i kahi hui @(8, 7, 6, 5).
Ke hoʻohana nei i ka mea hoʻohana kikowaena, hiki iā ʻoe ke hoʻomaka i kahi array ($test_array = 1..4) a i ʻole e kiʻi i kahi ʻāpana (slice), ʻo ia hoʻi. he kaʻina o nā mea mai kahi ʻano me nā kuhikuhi mai kekahi. I kēia hihia, ʻo kahi helu maikaʻi ʻole -1 e hōʻike ana i ka mea hope loa o ka array, -2 - ka penultimate, a pēlā aku.
$test_array = "один", "два", "три", "четыре"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]
E hoʻomanaʻo e hiki ke ʻoi aku ka nui o nā waiwai integer ma mua o ka nui o ka helu helu helu o ka ʻikepili. I kēia hihia, hoʻihoʻi ʻia nā waiwai āpau i ka mea hope loa:
$test_array[0..100]
Inā ʻoe e hoʻāʻo e komo i kahi mea hoʻonohonoho hoʻokahi ʻaʻole i loaʻa, ua hoʻihoʻi ʻia ka $null.
Ma PowerShell, hiki i nā arrays ke loaʻa i nā mea o nā ʻano ʻano like ʻole a i ʻole e paʻi ikaika ʻia:
$test_array = 1, 2, "тест", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
Write-Host $test_array[$i]
}
Ma kahi o ka waiwai $test_array.count ka helu o nā mea hoʻonohonoho.
ʻO kahi laʻana o ka hana ʻana i kahi array paʻa ikaika:
[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Nā papa hash
ʻO kekahi ʻano maʻamau o nā mea hoʻololi i ka ʻōlelo PowerShell he papa hash, ʻike ʻia hoʻi he hui hui. Ua like nā Hashtables me nā mea JSON a ua kūkulu ʻia ma ke kumu waiwai nui. ʻAʻole e like me nā arrays maʻamau, loaʻa kā lākou mau mea e nā kī i kapa ʻia, ʻo ia nā waiwai o ka mea (hiki iā ʻoe ke hoʻohana i ka mea hoʻohana index - square brackets).
Hōʻike ʻia kahi papa hash kaʻawale me ka hoʻohana ʻana i ka hōʻailona @ a me nā brackets operator:
$test_hashtable = @{}
I ka haʻi ʻana, hiki iā ʻoe ke hana koke i nā kī a hāʻawi i nā waiwai iā lākou:
$test_hashtable = @{one="один"; two="два"; three="три"; "some key"="some value"}
No ka hoʻohui ʻana i kahi mea i ka papaʻaina hash, pono ʻoe e hāʻawi i kahi kī ʻaʻole i loaʻa iā ia, a i ʻole e hoʻohana i ke ʻano Add (). Inā hana ʻia kahi hāʻawi i kahi kī e kū nei, e loli ana kona waiwai. Hoʻohana ʻia ke ala Wehe () e wehe i kahi mea mai kahi papa hash.
$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "четыре")
$test_hashtable.five = "пять"
$test_hashtable['five'] = "заменяем значение"
$test_hashtable.Remove("one")
Hiki ke hāʻawi ʻia nā ʻano like ʻole o kēia ʻano e like me nā hoʻopaʻapaʻa i nā hana a me nā cmdlet - ma ka ʻatikala aʻe e aʻo mākou pehea e hana ʻia ai, a noʻonoʻo pū kekahi ʻano like - PSCustomObject.
Nā hana
Loaʻa iā PowerShell nā mea a pau āu e pono ai no ka papahana kaʻina hana, me nā hana. No ka wehewehe ʻana iā lākou, hoʻohana ʻia ka huaʻōlelo Function, a laila pono ʻoe e kuhikuhi i ka inoa o ka hana a me ke kino i hoʻopaʻa ʻia i nā bracket operator. Inā pono ʻoe e hāʻawi i nā hoʻopaʻapaʻa i ka hana, hiki iā ʻoe ke kuhikuhi iā lākou ma hope koke o ka inoa i loko o nā pale.
function имя-функции (аргумент1, ..., аргументN)
{
тело-функции
}
Hoʻihoʻi mau ka hana i kahi hopena - he ʻano ia o nā hopena o kāna mau ʻōlelo a pau, inā ʻoi aku ma mua o hoʻokahi. Inā hoʻokahi wale nō ʻōlelo, hoʻihoʻi ʻia ka waiwai o ke ʻano like. Hoʻohui ka hoʻihoʻi $value construct i kahi mea me ka waiwai $value i ka pae hopena a hoʻopau i ka hoʻokō ʻana o ka papa inoa ʻōlelo, a hoʻihoʻi ka hana hakahaka i $null.
No ka laʻana, e hana kākou i hana no ka hoʻohālua ʻana i ka helu:
function sqr ($number)
{
return $number * $number
}
E hoʻomanaʻo i loko o ke kino o kahi hana, hiki iā ʻoe ke hoʻohana i nā ʻano like ʻole i haʻi ʻia ma mua o ke kāhea ʻana iā ia, a ʻo ke kāhea ʻana i nā hana ma PowerShell he mea maʻamau: ʻaʻole i hoʻopaʻa ʻia nā manaʻo (inā loaʻa) i loko o nā pale a hoʻokaʻawale ʻia e nā hakahaka.
sqr 2
a i ʻole
sqr -number 2
Ma muli o ke ʻano o ka hoʻopaʻapaʻa ʻana, pono e hoʻopaʻa ʻia ka hana ponoʻī i kekahi manawa i nā pale:
function test_func ($n) {}
test_func -eq $null # функция не вызывалась
(test_func) -eq $null # результат выражения — $true
I ka wehewehe ʻana i kahi hana, hiki iā ʻoe ke hāʻawi i nā waiwai paʻamau i nā hoʻopaʻapaʻa:
function func ($arg = value) {
#тело функции
}
Aia kekahi syntax no ka wehewehe ʻana i nā hoʻopaʻapaʻa hana, ʻo ia hoʻi, hiki ke heluhelu ʻia nā ʻāpana mai ka pipeline - hiki mai kēia mau mea āpau i ka ʻatikala aʻe, ke nānā mākou i nā modules i lawe ʻia a hana i kā mākou mau cmdlets.
Ke kuhi hewa
Loaʻa i ka PowerShell kahi hoʻāʻo...Catch...Finally mechanical e mālama i nā ʻokoʻa. Aia i loko o ka poloka ho'āʻo ke code kahi e hiki mai ai ka hewa, a ʻo ka poloka ʻo Catch aia kona mea hoʻohana. Inā ʻaʻohe hewa, ʻaʻole hoʻokō ʻia. Hoʻokō ʻia ka poloka hope ma hope o ka poloka hoʻāʻo, me ka nānā ʻole i ka loaʻa ʻana o kahi hewa, a hiki ke loaʻa kekahi mau poloka Catch no nā ʻano ʻokoʻa like ʻole. Ua kākau ʻia ka ʻokoʻa i kahi hoʻololi paʻamau undeclared ($_) a hiki ke kiʻi maʻalahi. Ma ka laʻana ma lalo nei, hoʻokō mākou i ka pale mai ka hoʻokomo ʻana i kahi waiwai kūpono ʻole:
try {
[int]$test = Read-Host "Введите число"
100 / $test
} catch {
Write-Warning "Некорректное число"
Write-Host $_
}
Hoʻopau kēia i ka loiloi o nā kumu o ka hoʻolālā ʻana ma ka ʻōlelo PowerShell. Ma nā ʻatikala aʻe, e aʻo nui mākou i ka hana ʻana me nā ʻano like ʻole, nā hōʻiliʻili, nā hōʻike maʻamau, ka hana ʻana i nā hana, nā modula a me nā cmdlet maʻamau, a me ka hoʻonohonoho ʻana i nā mea.
Source: www.habr.com