Set-Variable
Nastaví hodnotu proměnné. Vytvoří proměnnou, pokud neexistuje proměnná s požadovaným názvem.
Syntaxe
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Set-Variable
přiřadí hodnotu zadané proměnné nebo změní aktuální hodnotu. Pokud proměnná neexistuje, rutina ji vytvoří.
Příklady
Příklad 1: Nastavení proměnné a získání její hodnoty
Tyto příkazy nastaví hodnotu $desc
proměnné na A description
hodnotu a pak získá hodnotu proměnné.
Set-Variable -Name "desc" -Value "A description"
Get-Variable -Name "desc"
Name Value
---- -----
desc A description
Příklad 2: Nastavení globální proměnné jen pro čtení
Tento příklad vytvoří globální proměnnou jen pro čtení, která obsahuje všechny procesy v systému a pak zobrazí všechny vlastnosti proměnné.
Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru |
Format-List -Property *
Příkaz pomocí rutiny Set-Variable
vytvoří proměnnou. Pomocí parametru PassThru vytvoří objekt představující novou proměnnou a pomocí operátoru kanálu (|
) předá objekt rutině Format-List
. Pomocí parametru Format-List
Property s hodnotou všech (*
) zobrazí všechny vlastnosti nově vytvořené proměnné.
Hodnota , (Get-Process)
je uzavřena v závorkách, aby se zajistilo, že se spustí před uložením v proměnné. Jinak proměnná obsahuje slova Get-Process
.
Příklad 3: Vysvětlení veřejných a privátních proměnných
Tento příklad ukazuje, jak změnit viditelnost proměnné na Private
. Tuto proměnnou lze číst a měnit skripty s požadovanými oprávněními, ale uživatel ji nevidí.
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.
Tento příkaz ukazuje, jak změnit viditelnost proměnné na Privátní. Tuto proměnnou lze číst a měnit skripty s požadovanými oprávněními, ale uživatel ji nevidí.
Parametry
-Confirm
Před spuštěním rutiny zobrazí výzvu k potvrzení.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Description
Určuje popis proměnné.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Exclude
Určuje pole položek, které tato rutina z operace vylučuje. Hodnota tohoto parametru kvalifikuje parametr Path . Zadejte element nebo vzor cesty, například *.txt
.
Jsou povoleny zástupné cardy.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Force
Umožňuje vytvořit proměnnou se stejným názvem jako existující proměnnou jen pro čtení nebo změnit hodnotu proměnné jen pro čtení.
Ve výchozím nastavení můžete přepsat proměnnou, pokud proměnná nemá hodnotu ReadOnly
možnosti nebo Constant
. Další informace naleznete v parametru Option .
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Include
Určuje pole položek, které tato rutina zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Name . Zadejte název nebo vzor názvu, například c*
. Jsou povoleny zástupné cardy.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Name
Určuje název proměnné.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Option
Určuje hodnotu vlastnosti Options proměnné.
Platné hodnoty jsou:
None
: Nastaví žádné možnosti. (None
je výchozí.)ReadOnly
: Lze odstranit. Nelze změnit, s výjimkou použití parametru Force.Constant
: Nelze odstranit ani změnit.Constant
je platný pouze při vytváření proměnné. Nelze změnit možnosti existující proměnné naConstant
.Private
: Proměnná je k dispozici pouze v aktuálním oboru.AllScope
: Proměnná se zkopíruje do všech nově vytvořených oborů.
Tyto hodnoty jsou definovány jako výčet založený na příznaku. Pomocí tohoto parametru můžete zkombinovat více hodnot a nastavit více příznaků. Hodnoty lze předat parametru Option jako pole hodnot nebo jako řetězec oddělený čárkami těchto hodnot. Rutina zkombinuje hodnoty pomocí binární operace OR. Předání hodnot jako pole je nejjednodušší možností a také umožňuje použít pro hodnoty dokončování tabulátoru.
Typ: | ScopedItemOptions |
Přípustné hodnoty: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-PassThru
Vrátí objekt představující novou proměnnou. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Scope
Určuje rozsah proměnné. Přijatelné hodnoty pro tento parametr jsou:
Global
Local
Script
Private
- Číslo relativní k aktuálnímu oboru (0 až počet oborů, kde 0 je aktuální obor a 1 je jeho nadřazený).
Local
je výchozí možnost.
Další informace najdete v tématu about_Scopes.
Typ: | String |
Position: | Named |
Default value: | Local |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Value
Určuje hodnotu proměnné.
Typ: | Object |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Visibility
Určuje, zda je proměnná viditelná mimo relaci, ve které byla vytvořena. Tento parametr je určený pro použití ve skriptech a příkazech, které se doručí jiným uživatelům.
Platné hodnoty jsou:
Public
: Proměnná je viditelná. (Public
je výchozí.)Private
: Proměnná není viditelná.
Pokud je proměnná soukromá, nezobrazí se v seznamech proměnných, jako jsou proměnné vrácené Get-Variable
, nebo v zobrazení proměnné: jednotka. Příkazy pro čtení nebo změnu hodnoty privátní proměnné vrátí chybu. Uživatel ale může spouštět příkazy, které používají privátní proměnnou, pokud byly příkazy napsané v relaci, ve které byla proměnná definována.
Typ: | SessionStateEntryVisibility |
Přípustné hodnoty: | Public, Private |
Position: | Named |
Default value: | Public |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Objekt představující hodnotu proměnné můžete převést na tuto rutinu.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Pokud použijete parametr PassThru , vrátí tato rutina objekt PSVariable představující novou nebo změněnou proměnnou.
Poznámky
PowerShell obsahuje následující aliasy pro Set-Variable
:
- Všechny platformy:
set
sv