Acerca de las variables
- 09/11/2020
- 9 minutos de lectura
-
- S
- s
- q
Breve descripción
Describe cómo las variables almacenan valores que se pueden usar en PowerShell.
Descripción larga
Puede almacenar todo tipo de valores en variables de PowerShell. Por ejemplo, almacene los resultados de los comandos y almacene los elementos que se utilizan en los comandos y expresiones, como nombres, rutas, configuraciones y valores.
Una variable es una unidad de memoria en la que se almacenan valores. En PowerShell, las variables se representan mediante cadenas de texto que comienzan con un signo de dólar ($
), como $a
, $process
, o $my_var
.
Los nombres de las variables no distinguen entre mayúsculas y minúsculas y pueden incluir espacios y caracteres especiales. incluir caracteres especiales y espacios son difíciles de usar y deben evitarse. Para obtener más información, consulte Nombres de variables que incluyen caracteres especiales.
Hay varios tipos diferentes de variables en PowerShell.
-
Variables creadas por el usuario: Las variables creadas por el usuario son creadas y mantenidas por el usuario. De forma predeterminada, las variables que crea en la línea de comandos de PowerShell existen solo mientras la ventana de PowerShell está abierta. Cuando las ventanas de PowerShell están cerradas, las variables son eliminado. Para guardar una variable, agréguela a su perfil de PowerShell. También puede crear variables en scripts con alcance global, script o local.
-
Va automático riables: las variables automáticas almacenan el estado de PowerShell. PowerShell crea estas variables, y PowerShell cambia sus valores según sea necesario para mantener su precisión. Los usuarios no pueden cambiar el valor de estas variables. Por ejemplo, la variable
$PSHOME
almacena la ruta al directorio de instalación de PowerShell.Para obtener más información, una lista y una descripción de las variables automáticas, consulte about_Automatic_Variables.
-
Variables de preferencia: Las variables de preferencia almacenan las preferencias del usuario para PowerShell. Estas variables son creadas por PowerShell y se rellenan con valores predeterminados. Los usuarios pueden cambiar el valores de estas variables. Por ejemplo, la variable
$MaximumHistoryCount
determina el número máximo de entradas en el historial de la sesión.Para obtener más información, una lista y una descripción de las variables de preferencia, consulte about_Preference_Variables.
Trabajar con variables
Para crear una nueva variable, utilice una instrucción de asignación para asignar un valor a la variable. no tiene que declarar la variable antes de usarla. El valor predeterminado de todas las variables es $null
.
Para obtener una lista de todas las variables en su sesión de PowerShell, escriba Get-Variable
. Los nombres de las variables se muestran sin el signo de dólar ($
) anterior que se utiliza para hacer referencia a las variables.
Por ejemplo:
Las variables son útiles para almacenar los resultados de los comandos.
Por ejemplo:
Para mostrar el valor de una variable, escriba el nombre de la variable, precedido por un signo de dólar ($
).
Por ejemplo:
Para cambiar el valor de una variable, asigne un nuevo valor a la variable.
Los siguientes ejemplos muestran el valor de la variable $MyVariable
, cambia el valor de la variable y luego muestra el nuevo valor.
Para eliminar el valor de una variable, use el Clear-Variable
cmdlet o cambie el valor debido a $null
.
Para eliminar la variable , utilice Eliminar variable o Eliminar elemento.
Tipos de variables
Puede almacenar cualquier tipo de objeto en una variable, incluidos números enteros, cadenas, matrices y tablas hash. Y objetos que representan procesos, servicios, registros de eventos y computadoras.
Las variables de PowerShell están escritas de manera flexible, lo que significa que no están limitadas a un tipo particular de objeto. Una sola variable puede incluso contener una colección, o matriz, de diferentes tipos de objetos al mismo tiempo.
El tipo de datos de una variable está determinado por los tipos .NET de los valores de la variable. Para ver el tipo de objeto de una variable, use Get- Miembro.
Por ejemplo:
Puede usar un atributo de tipo y una notación de conversión para asegurarse de que una variable pueda contener solo tipos de objetos específicos u objetos que se puedan convertir a ese tipo.Si intenta asignar un valor de otro tipo, PowerShell intenta convertir el valor a su tipo. Si el tipo no se puede convertir, la declaración de asignación falla.
Para usar la notación de conversión, ingrese un nombre de tipo, encerrado entre corchetes, antes del nombre de la variable (en el lado izquierdo de la declaración de asignación). El siguiente ejemplo crea una $number
variable que solo puede contener números enteros, una $words
variable que solo puede contener cadenas y una $dates
variable que solo puede contener objetos DateTime.
Uso de variables en comandos y expresiones
Para usar una variable en un comando o expresión, escriba el nombre de la variable, precedido por el signo de dólar ($
).
Si el nombre de la variable y el signo de dólar no están entre comillas o si están entre comillas dobles ("
), t El valor de la variable se usa en el comando o expresión.
Si el nombre de la variable y el signo de dólar están entre comillas simples ("
), el nombre de la variable se usa en la expresión.
Para obtener más información sobre el uso de comillas en PowerShell, consulteabout_Quoting_Rules.
Este ejemplo obtiene el valor de $PROFILE
variable, que es la ruta al archivo de perfil de usuario de PowerShell en la consola de PowerShell.
En este Por ejemplo, se muestran dos comandos que pueden abrir el perfil de PowerShell innotepad.exe. El ejemplo con comillas dobles ("
) utiliza la variable «svalue.
Los siguientes ejemplos usan comillas simples ("
) que tratan la variable como texto literal.
Nombres de variables que incluyen caracteres especiales
Los nombres de variables comienzan con un dólar ( $
) y puede incluir caracteres alfanuméricos y caracteres especiales. La longitud del nombre de la variable está limitada solo por la memoria disponible.
La mejor práctica es que los nombres de las variables solo incluyan caracteres alfanuméricos y el carácter de subrayado (_
). Los nombres de variables que incluyen espacios y otros caracteres especiales son difíciles de usar y deben evitarse.
Los nombres de variables alfanuméricos pueden contener estos caracteres :
- Caracteres Unicode de estas categorías: Lu, Ll, Lt, Lm, L o, o Nd.
- Guión bajo (
_
) carácter. - Signo de interrogación (
?
).
La siguiente lista contiene las descripciones de las categorías Unicode. Para obtener más información, consulte UnicodeCategory.
- Lu – Mayúsculas
- Ll – Minúsculas
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
Para crear o mostrar un nombre de variable que incluya espacios o caracteres especiales, encierre el nombre de la variable con el llaves ({}
) caracteres. Las llaves indican a PowerShell que interprete los caracteres del nombre de la variable como literales.
Los nombres de variable de caracteres especiales pueden contener estos caracteres:
Por ejemplo, el siguiente comando crea la variable denominada save-items
. Las llaves ({}
) son necesarias porque el nombre de la variable incluye un guión (-
) carácter especial.
El siguiente comando obtiene los elementos secundarios en el directorio que está representado por ProgramFiles(x86)
enviro nment variable.
Para hacer referencia a un nombre de variable que incluye llaves, encierre el nombre de la variable entre llaves y use el carácter de acento inverso para escapar de las llaves. Por ejemplo, para crear una variable llamada this{value}is
escriba:
Variables y alcance
De forma predeterminada, las variables solo están disponibles en el alcance en el que «se crearon.
Por ejemplo, una variable que crea en una función solo está disponible dentro de la función. Una variable que crea en un script está disponible solo dentro del script. Si obtiene el script con puntos, la variable se agrega al actual alcance. Para obtener más información, consulte about_Scopes.
Puede usar un modificador de alcance para cambiar el alcance predeterminado de la variable. La siguiente expresión crea una variable llamada Computers
. La variable tiene un alcance global, incluso cuando se crea en un script o función.
Para cualquier script o comando que se ejecute fuera de sesión, necesita el Using
modificador de alcance para incrustar la variable valores del alcance de la sesión de llamada, de modo que fuera del código de la sesión pueda acceder a ellos.
Para obtener más información, consulte about_Remote_Variables.
Guardar variables
Variables que cree están disponibles solo en la sesión en la que los crea. Se pierden cuando cierra su sesión.
Para crear la variable en cada sesión de PowerShell que inicia, agregue la variable a su perfil de PowerShell.
Por ejemplo, para cambiar el valor de la variable $VerbosePreference
en cada sesión de PowerShell, agregue el siguiente comando a su perfil de PowerShell.
Puede agregar este comando a su perfil de PowerShell abriendo el archivo $PROFILE
en un editor de texto, como notepad.exe. Para obtener más información sobre los perfiles de PowerShell, consulte about_Profiles.
La Variable: unidad
El proveedor de variables de PowerShell crea una unidad Variable:
que se ve y actúa como una unidad del sistema de archivos, pero contiene las variables en su sesión y sus valores.
Para cambiar a la unidad Variable:
, use el siguiente comando:
Para listar los elementos y las variables de la unidad Variable:
, utilice la o Get-ChildItem
cmdlets.
Para obtener el valor de una variable en particular, utilice la notación del sistema de archivos para especificar el nombre de la unidad y el nombre de la variable. Por ejemplo, para obtener la $PSCulture
variable automática, use el siguiente comando.
Para mostrar más información sobre la unidad Variable:
y el proveedor PowerShellVariable, escriba:
Sintaxis variable con rutas de proveedor
Puede prefijar una ruta de proveedor con el signo de dólar ($
) y acceder al contenido de cualquier proveedor que implemente la interfaz IContentCmdletProvider.
Los siguientes proveedores de PowerShell integrados admiten esta notación:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
Los cmdlets de variable
PowerShell incluye un conjunto de cmdlets que están diseñados para administrar variables.
Para enumerar los cmdlets, escriba:
Para obtener ayuda para un cmdlet específico, escriba:
Nombre del cmdlet | Descripción |
---|---|
Clear-Variable |
Elimina el valor de una variable. |
Get-Variable |
Obtiene las variables en la consola actual. |
New-Variable |
Crea una nueva variable. |
Remove-Variable |
Elimina una variable y su valor. |
Set-Variable |
Cambia el valor de una variable. |
Ver también
about_Automatic_Variables
about_Environment_Variables