Tietoja muuttujista
- 11/09/2020
- 9 minuuttia aikaa lukea
-
- S
- s
- q
Lyhyt kuvaus
Kuvaa, kuinka muuttujat tallentavat arvoja, joita voidaan käyttää PowerShellissä.
Pitkä kuvaus
Voit tallentaa kaiken tyyppisiä arvoja PowerShell-muuttujiin. Esimerkiksi, tallenna komentojen tulokset ja tallenna komennoissa ja lausekkeissa käytetyt elementit, kuten nimet, polut, asetukset ja arvot.
Muuttuja on muistin yksikkö, johon arvot tallennetaan. PowerShellissa muuttujia edustavat tekstimerkkijonot, jotka alkavat dollarimerkillä ($
), kuten $a
, $process
tai $my_var
.
Muuttujien nimet eivät ole kirjainkokoisia, ja ne voivat sisältää välilyöntejä ja erikoismerkkejä. Mutta muuttujien nimet, jotka sisältää erikoismerkkejä ja välilyöntejä, joita on vaikea käyttää ja joita tulisi välttää. Lisätietoja on kohdassa Muuttujien nimet, jotka sisältävät erikoismerkkejä.
PowerShellissä on useita erityyppisiä muuttujia.
-
Käyttäjän luomat muuttujat: Käyttäjä luo ja ylläpitää käyttäjän luomia muuttujia. Oletuksena PowerShell-komentorivillä luomasi muuttujat ovat olemassa vain, kun PowerShell-ikkuna on auki. Kun PowerShellwindows on suljettu, muuttujat ovat poistettu. Jos haluat tallentaa muuttujan, lisää se PowerShell-profiiliisi. Voit myös luoda muuttujia komentosarjoissa, joissa on globaali, komentosarja tai paikallinen laajuus.
-
Automaattinen muuttujat: Automaattiset muuttujat tallentavat PowerShellin tilan. Nämä muuttujat on luonut PowerShell, ja PowerShell muuttaa tarvittavia arvoja tarkkuuden ylläpitämiseksi. Käyttäjät eivät voi muuttaa muuttujien arvoa. Esimerkiksi
$PSHOME
-muuttuja tallentaa polun PowerShell-asennushakemistoon.Lisätietoja, luettelo ja automaattisten muuttujien kuvaus, katso about_Automatic_Variables.
-
Preferences-muuttujat: Preferences-muuttujat tallentavat käyttäjän asetukset forPowerShell. Nämä muuttujat ovat PowerShellin luomia, ja ne ovat täytettyjä oletusarvoja. Käyttäjät voivat muuttaa Näiden muuttujien arvot. Esimerkiksi
$MaximumHistoryCount
-muuttuja määrittää istuntohistorian merkintöjen enimmäismäärän.Lisätietoja, luettelo ja kuvaus mieltymismuuttujat, katso about_Preference_Variables.
Muuttujien käyttäminen
Luo uusi muuttuja määrittämällä muuttujalle arvo määrityslausekkeella. Älä ilmoita muuttujaa ennen sen käyttöä. Kaikkien muuttujien oletusarvo on $null
.
Saat luettelon kaikista PowerShell-istunnon muuttujista kirjoittamalla Get-Variable
. Muuttujien nimet näytetään ilman edeltävää dollarimerkkiä ($
), jota käytetään muuttujien viittaamiseen.
Esimerkiksi:
Muuttujista on hyötyä komentojen tulosten tallentamisessa.
Esimerkiksi:
näytä muuttujan arvo, kirjoita muuttujan nimi, jota edeltää adollar-merkki ($
).
Esimerkiksi:
Arvon muuttaminen määritä muuttujalle uusi arvo.
Seuraavissa esimerkeissä näytetään muuttujan $MyVariable
arvo, muutetaan muuttujan arvo ja näytetään sitten uusi arvo.
Jos haluat poistaa muuttujan arvon, käytä cmdlet-komentoa Clear-Variable
tai muuta val ue $null
.
Muuttujan poistaminen , käytä Poista muuttuja tai Poista kohde.
Muuttujatyypit
Voit tallentaa minkä tahansa tyyppisen objektin muuttujaan, mukaan lukien kokonaisluvut, merkkijonot, taulukot ja hash-taulukot. Ja kohteet, jotka edustavat prosesseja, palveluja, tapahtumalokeja ja tietokoneita.
PowerShell-muuttujat kirjoitetaan löyhästi, mikä tarkoittaa, että niitä ei rajoiteta tietyntyyppisiin kohteisiin. Yksi muuttuja voi sisältää jopa kokoelman, tai taulukko, erityyppisiä objekteja samanaikaisesti.
Muuttujan tietotyyppi määräytyy muuttujan arvojen .NET-tyyppien avulla. Jos haluat tarkastella muuttujan objektityyppiä, käytäGet- Jäsen.
Esimerkiksi:
Voit käyttää type-määritettä ja cast-merkintää varmistaaksesi, että muuttuja voi sisältää vain tiettyjä objektityyppejä tai objekteja, jotka voidaan muuntaa kyseiseksi tyypiksi.Jos yrität määrittää toisen tyyppisen arvon, PowerShell yrittää muuntaa arvon tyypiksi. Jos tyyppiä ei voi muuntaa, määrityslauseke epäonnistuu.
Jos haluat käyttää merkintää, kirjoita sulkeissa oleva tyyppinimi ennen vaihtuvaa nimeä (määrityslausekkeen vasemmalle puolelle). Seuraava esimerkki luo muuttujan $number
, joka voi sisältää vain kokonaislukuja, muuttujan $words
, joka voi sisältää vain merkkijonoja, ja $dates
muuttuja, joka voi sisältää vain DateTime-objekteja.
Muuttujien käyttäminen komennoissa ja lausekkeissa
Jos haluat käyttää muuttujaa komennossa tai lausekkeessa, kirjoita muuttujan nimi, jota edeltää dollarin merkki ($
).
Jos muuttujan nimeä ja dollarimerkkiä ei ole lainausmerkeissä tai jos ne ovat taas lainausmerkeissä ("
), t muuttujan arvoa käytetään komennossa tai lausekkeessa.
Jos muuttujan nimi ja dollarin merkki on suljettu lainausmerkkeihin ("
), muuttujan nimi käytetään lausekkeessa.
Lisätietoja lainausmerkkien käytöstä PowerShellissä on seeabout_Quoting_Rules.
Tämä esimerkki saa arvon $PROFILE
muuttuja, joka on PowerShell-käyttäjäprofiilitiedoston polku PowerShell-konsolissa.
Tässä Esimerkiksi kaksi komentoa näytetään, jotka voivat avata PowerShell-profiilin innotepad.exe. Esimerkki, jossa on kaksoislainausmerkit ("
), käyttää muuttujaa ”svalue”.
Seuraavissa esimerkeissä käytetään yhden lainauksen ("
) merkit, jotka käsittelevät muuttujaa asliteraalisena tekstinä.
Muuttujien nimet, jotka sisältävät erikoismerkkejä
Muuttujien nimet alkavat dollarilla ( $
) merkki ja voi sisältää aakkosnumeerisia merkkejä ja erikoismerkkejä. Muuttujan nimen pituutta rajoittaa vain käytettävissä oleva muisti.
Paras käytäntö on, että muuttujien nimet sisältävät vain aakkosnumeerisia merkkejä ja alaviiva (_
). Muuttujanimiä, jotka sisältävät välilyöntejä ja muita erikoismerkkejä, on vaikea käyttää ja niitä tulisi välttää.
Aakkosnumeeriset muuttujien nimet voivat sisältää näitä merkkejä. :
- Unicode-merkit näistä luokista: Lu, Ll, Lt, Lm, L o tai Nd.
- Alaviiva (
_
) merkki. - Kysymysmerkki (
?
) merkki.
Seuraava luettelo sisältää Unicode-luokan kuvaukset. Lisätietoja on artikkelissa UnicodeCategory.
- Lu – Isot kirjaimet
- Ll – Pienet kirjaimet
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
Jos haluat luoda tai näyttää muuttujan nimen, joka sisältää välilyöntejä tai erikoismerkkejä, liitä muuttujan nimi kiharaan aaltosulkeet ({}
) merkit. kiharat olkaimet ohjaavat PowerShellin tulkitsemaan muuttujan nimen merkkejä literaaleina.
Erikoismerkkimuuttujien nimet voivat sisältää näitä merkkejä:
Esimerkiksi seuraava komento luo muuttujan nimeltä save-items
. Thecurly-aaltosulkeita ({}
) tarvitaan, koska muuttujan nimi sisältää yhdysviivan (-
) erikoismerkki.
Seuraava komento saa alatason kohteet hakemistoon, jota edustaa ProgramFiles(x86)
ympäristö nment-muuttuja.
Jos haluat viitata muuttujan nimeen, joka sisältää aaltosulkeet, liitä muuttujan nimen suluet ja käytä backtick-merkkiä poistuaksesi aaltosulkeista. Luo esimerkiksi muuttuja nimeltä this{value}is
type:
Muuttujat ja laajuus
Muuttujat ovat oletusarvoisesti käytettävissä vain siinä laajuudessa, jolla ne on luotu.
Esimerkiksi funktiossa luomasi muuttuja on käytettävissä vain funktion kanssa. Komentosarjassa luomasi muuttuja on käytettävissä vain komentosarjassa. Jos annat komentolähteelle pistelähteen, muuttuja lisätään currentscopeen. Lisätietoja: about_Scopes.
Voit käyttää laajuuden muokkaaja muuttujan oletusalueen muuttamiseksi. Seuraava lauseke luo muuttujan nimeltä Computers
. Muuttujalla on aglobaalinen laajuus, vaikka se luotaisiin komentosarjassa tai toiminnossa.
Kaikkien komentojen tai komentojen suorittamiseen, jotka suoritetaan istunnon ulkopuolella, tarvitset Using
-alueen muuttujan muuttujan upottamiseksi arvot kutsuvan istunnon laajuudesta, jotta istuntokoodi voi käyttää niitä.
Lisätietoja on artikkelissa about_Remote_Variables.
Muuttujien tallentaminen
Luomasi muuttujat ovat käytettävissä vain siinä istunnossa, jossa olet luonut heidät. Ne menetetään, kun suljet istunnon.
Jos haluat luoda muuttujan jokaisessa käynnistämässäsi PowerShell-istunnossa, lisää muuttuja PowerShell-profiiliisi.
Voit esimerkiksi muuttaa arvoa Lisää $VerbosePreference
-muuttujan jokaisessa PowerShell-istunnossa seuraava komento PowerShell-profiiliisi.
Voit lisätä tämä komento PowerShell-profiiliisi avaamalla $PROFILE
-tiedosto tekstieditorissa, kuten notepad.exe. Lisätietoja PowerShell-profiileista on about_Profiles-tiedostossa.
Muuttuja: asema
PowerShell-muuttujien tarjoaja luo Variable:
-aseman, joka näyttää ja näyttää tiedostojärjestelmäasemalta, mutta sisältää istunnossa olevat muuttujat ja niiden arvot.
Jos haluat vaihtaa Variable:
-asemaan, käytä seuraavaa komentoa:
Luetteloon Variable:
-aseman kohteet ja muuttujat, käytä tai Get-ChildItem
cmdletit.
Saadaksesi tietyn muuttujan arvon, määritä aseman nimi ja muuttujan nimi tiedostojärjestelmämerkinnällä. Esimerkiksi automaattisen muuttujan $PSCulture
saamiseksi käytä seuraavaa komentoa.
Voit näyttää lisätietoja Variable:
-asemasta ja PowerShellVariable-palveluntarjoajasta kirjoittamalla:
Muuttuja syntaksista palveluntarjoajan polkuilla
Voit etuliittää palveluntarjoajan polun dollarin ($
) merkillä ja käyttää minkä tahansa palveluntarjoajan sisältöä, joka toteuttaa IContentCmdletProviderinterface.
Seuraavat sisäänrakennetut PowerShell-palveluntarjoajat tukevat tätä merkintää:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
Muuttujien cmdlet-komennot
PowerShell sisältää joukon cmdlet-komentoja, jotka on suunniteltu hallitsemaan muuttujia.
Jos haluat luetella cmdlet-komentoja, kirjoita:
Saadaksesi apua tietylle cmdlet-komennolle, kirjoita:
Cmdlet-nimi | Kuvaus |
---|---|
Clear-Variable |
Poistaa arvon muuttuja. |
Get-Variable |
Haetaan muuttujat nykyisessä konsolissa. |
New-Variable |
Luo uuden muuttujan. |
Remove-Variable |
Poistaa muuttujan ja sen arvon. |
Set-Variable |
Muuttuu muuttujan arvo. |
Katso myös
about_Automatic_Variables
about_Environment_Variables