Set-Variable
Egy változó értékét állítja be. Létrehozza a változót, ha a kért név nem létezik.
Syntax
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A Set-Variable
parancsmag hozzárendel egy értéket egy adott változóhoz, vagy módosítja az aktuális értéket. Ha a változó nem létezik, a parancsmag létrehozza azt.
Példák
1. példa: Változó beállítása és értékének lekérése
Ezek a parancsok a $desc
változó értékét a következő értékre A description
állítják be, majd lekéri a változó értékét.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name Value
---- -----
desc A description
2. példa: Globális, írásvédett változó beállítása
Ez a példa létrehoz egy globális, írásvédett változót, amely a rendszeren lévő összes folyamatot tartalmazza, majd megjeleníti a változó összes tulajdonságát.
Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru |
Format-List -Property *
A parancs a Set-Variable
parancsmaggal hozza létre a változót. A PassThru paraméter használatával hoz létre egy objektumot, amely az új változót jelöli, és a folyamatkezelő (|
) használatával továbbítja az objektumot a Format-List
parancsmagnak. Az újonnan létrehozott változó összes tulajdonságának megjelenítéséhez az összes (*
) értékkel rendelkező tulajdonság paraméterét Format-List
használja.
Az érték (Get-Process)
zárójelek közé van zárva, hogy a rendszer végrehajtsa azt, mielőtt a változóban tárolva lenne. Ellenkező esetben a változó a szavakat Get-Process
tartalmazza.
3. példa: A nyilvános és a privát változók ismertetése
Ez a példa bemutatja, hogyan módosíthatja a változó Private
láthatóságát . Ezt a változót a szükséges engedélyekkel rendelkező szkriptek olvashatják és módosíthatják, de a felhasználó számára nem látható.
New-Variable -Name "counter" -Visibility Public -Value 26
$Counter
26
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
Counter 26
Set-Variable -Name "counter" -Visibility Private
Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
$counter
"Cannot access the variable '$counter' because it is a private variable"
.\use-counter.ps1
#Commands completed successfully.
Ez a parancs bemutatja, hogyan módosíthatja egy változó láthatóságát privátra. Ezt a változót a szükséges engedélyekkel rendelkező szkriptek olvashatják és módosíthatják, de a felhasználó számára nem látható.
Paraméterek
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Típus: | SwitchParameter |
Aliasok: | cf |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Description
A változó leírását adja meg.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Exclude
Olyan elemtömböt ad meg, amelyet ez a parancsmag kizár a műveletből. Ennek a paraméternek az értéke az Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például *.txt
.
Helyettesítő karakterek használata engedélyezett.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-Force
Lehetővé teszi, hogy egy meglévő írásvédett változó nevével megegyező nevű változót hozzon létre, vagy módosítsa egy írásvédett változó értékét.
Alapértelmezés szerint felülírhat egy változót, kivéve, ha a változó értéke vagy Constant
.ReadOnly
További információ: Option paraméter.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Include
A parancsmag által a műveletben szereplő elemek tömbjének megadása. Ennek a paraméternek az értéke a Név paramétert minősíti. Adjon meg egy nevet vagy névmintát, például c*
. Helyettesítő karakterek használata engedélyezett.
Típus: | String[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | True |
-Name
Megadja a változó nevét.
Típus: | String[] |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Option
A változó Beállítások tulajdonságának értékét adja meg.
Az érvényes értékek a következők:
None
: Nem ad meg beállításokat. (None
ez az alapértelmezett érték.)ReadOnly
: Törölhető. Nem módosítható, kivéve a Force paramétert.Constant
: Nem törölhető vagy módosítható.Constant
csak változó létrehozásakor érvényes. A meglévő változók beállításait nem módosíthatja a következőreConstant
: .Private
: A változó csak az aktuális hatókörben érhető el.AllScope
: A változó a létrehozott új hatókörökbe lesz másolva.
Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók az Option paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag bináris VAGY művelettel egyesíti az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken.
Típus: | ScopedItemOptions |
Elfogadott értékek: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-PassThru
Az új változót képviselő objektumot ad vissza. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Scope
Megadja a változó hatókörét. A paraméter elfogadható értékei a következők:
Global
Local
Script
Private
- Az aktuális hatókörhöz viszonyított szám (0 a hatókörök számán keresztül, ahol a 0 az aktuális hatókör, az 1 pedig a szülője).
A Local
az alapértelmezett formátum.
További információ: about_Scopes.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | Local |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Value
A változó értékét adja meg.
Típus: | Object |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Visibility
Meghatározza, hogy a változó látható-e azon a munkameneten kívül, amelyben létrejött. Ez a paraméter olyan szkriptekben és parancsokban való használatra lett kialakítva, amelyek más felhasználók számára lesznek kézbesítve.
Az érvényes értékek a következők:
Public
: A változó látható. (Public
ez az alapértelmezett érték.)Private
: A változó nem látható.
Ha egy változó privát, nem jelenik meg a változók listájában, például a Változó: meghajtó által visszaadott Get-Variable
vagy megjelenített változókban. A privát változók értékének olvasására vagy módosítására szolgáló parancsok hibát adnak vissza. A felhasználó azonban futtathat privát változót használó parancsokat, ha a parancsok abban a munkamenetben lettek megírva, amelyben a változót definiálták.
Típus: | SessionStateEntryVisibility |
Elfogadott értékek: | Public, Private |
Position: | Named |
Alapértelmezett érték: | Public |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Típus: | SwitchParameter |
Aliasok: | wi |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
A változó értékét képviselő objektumot erre a parancsmagra csövezheti.
Kimenetek
None
Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.
A PassThru paraméter használatakor ez a parancsmag egy PSVariable objektumot ad vissza, amely az új vagy módosított változót jelöli.
Jegyzetek
A PowerShell a következő aliasokat Set-Variable
tartalmazza:
- Minden platform:
set
sv