about_Language_Keywords
Descripción breve
Describe las palabras clave en el lenguaje de scripting de PowerShell.
Descripción larga
PowerShell tiene las siguientes palabras clave de lenguaje. Para obtener más información, vea el tema acerca de la palabra clave y la información que sigue a la tabla.
Los flujos de trabajo de PowerShell usan las siguientes palabras clave:
inlinescript
parallel
sequence
workflow
Los flujos de trabajo de PowerShell solo se admiten en PowerShell 5.1. Para obtener más información sobre los flujos de trabajo, consulte Ejecución de comandos de PowerShell en un flujo de trabajo.
begin
Especifica una parte del cuerpo de una función, junto con las dynamicparam
palabras clave , process
y end
. La begin
lista de instrucciones se ejecuta una vez antes de que se reciban objetos de la canalización.
Sintaxis:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
break
Hace que un script salga de un bucle.
Sintaxis:
while (<condition>) {
<statements>
...
break
...
<statements>
}
catch
Especifica una lista de instrucciones que se va a ejecutar si se produce un error en la lista de instrucciones complementarias try
. Un tipo de error requiere corchetes. El segundo par de corchetes indica que el tipo de error es opcional.
Sintaxis:
try {<statement list>}
catch [[<error type>]] {<statement list>}
class
Especifica una nueva clase en PowerShell.
Sintaxis:
class <class-name> {
[[hidden] [static] <property-definition> ...]
[<class-name>([argument-list>]) {<constructor-statement-list>} ...]
[[hidden] [static] <method-definition> ...]
}
clean
La clean
palabra clave se agregó en PowerShell 7.3. La palabra clave define un bloque de código que se garantiza que se ejecute después de los begin
bloques , process
y end
de una función. A diferencia del end
bloque, el clean
bloque siempre se ejecuta, incluso cuando hay un error de terminación en uno de los otros bloques.
continue
Hace que un script deje de ejecutar un bucle y vuelva a la condición. Si se cumple la condición, el script vuelve a iniciar el bucle.
Sintaxis:
while (<condition>) {
<statements>
...
continue
...
<statements>
}
data
En un script, define una sección que aísla los datos de la lógica del script. También puede incluir instrucciones if
y algunos comandos limitados.
Sintaxis:
data <variable> [-supportedCommand <cmdlet-name>] {<permitted content>}
do
Se usa con la while
palabra clave o until
como una construcción de bucle. PowerShell ejecuta la lista de instrucciones al menos una vez, a diferencia de un bucle que usa while
.
Sintaxis para while
:
do {<statement list>} while (<condition>)
Sintaxis para until
:
do {<statement list>} until (<condition>)
dynamicparam
Especifica una parte del cuerpo de una función, junto con las begin
palabras clave , process
y end
. Los parámetros dinámicos se agregan en tiempo de ejecución.
Sintaxis:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
else
Se usa con la if
palabra clave para especificar la lista de instrucciones predeterminada.
Sintaxis:
if (<condition>) {<statement list>}
else {<statement list>}
elseif
Se usa con las if
palabras clave y else
para especificar condicionales adicionales. La else
palabra clave es opcional.
Sintaxis:
if (<condition>) {<statement list>}
elseif (<condition>) {<statement list>}
else {<statement list>}
end
Especifica una parte del cuerpo de una función, junto con las dynamicparam
palabras clave , begin
y end
. La end
lista de instrucciones se ejecuta una vez después de que se hayan recibido todos los objetos de la canalización.
Sintaxis:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
enum
enum
se usa para declarar una enumeración; un tipo distinto que consta de un conjunto de etiquetas con nombre denominada lista de enumeradores.
Sintaxis:
enum <enum-name> {
<label> [= <int-value>]
...
}
exit
Hace que PowerShell salga de un script o una instancia de PowerShell.
Sintaxis:
exit
exit <exitcode>
Cuando se usa pwsh
con el parámetro File , el .ps1
propio archivo (script) debe incluir instrucciones para controlar los errores o excepciones que se producen mientras se ejecuta el script. Solo debe usar la exit
instrucción para indicar el estado posterior a la ejecución del script.
En Windows, se permite cualquier número entre [int]::MinValue
y [int]::MaxValue
.
En Unix, solo se permiten números positivos entre [byte]::MinValue
y [byte]::MaxValue
. Un número negativo en el intervalo de -1
a través -255
se traduce automáticamente en un número positivo agregando 256. Por ejemplo, -2
se transforma en 254
.
En PowerShell, la exit
instrucción establece el valor de la $LASTEXITCODE
variable. En el Shell de comandos de Windows (cmd.exe
), la instrucción exit establece el valor de la %ERRORLEVEL%
variable de entorno.
Cualquier argumento que no sea numérico o fuera del intervalo específico de la plataforma se traduce al valor de 0
.
En el ejemplo siguiente, el usuario establece el valor de variable de nivel de error en 4
agregando exit 4
al archivo test.ps1
de script .
C:\scripts\test>type test.ps1
1
2
3
exit 4
C:\scripts\test>pwsh -file ./test.ps1
1
2
3
C:\scripts\test>echo %ERRORLEVEL%
4
Cuando se ejecuta pwsh.exe -File <path to a script>
y el archivo de script finaliza con un exit
comando, el código de salida se establece en el argumento numérico usado con el exit
comando . Si el script no tiene ninguna exit
instrucción, el código de salida siempre 0
es cuando el script se completa sin error o 1
cuando el script finaliza de una excepción no controlada.
filter
Especifica una función en la que la lista de instrucciones se ejecuta una vez para cada objeto de entrada. Tiene el mismo efecto que una función que contiene solo un process
bloque.
Sintaxis:
filter <name> {<statement list>}
finally
Define una lista de instrucciones que se ejecuta después de las instrucciones asociadas a try
y catch
. Una finally
lista de instrucciones se ejecuta incluso si presiona CTRL+C para dejar un script o si usa la exit
palabra clave en el script.
Sintaxis:
try {<statement list>}
catch [<error type>] {<statement list>}
finally {<statement list>}
for
Define un bucle con una condición.
Sintaxis:
for (<initialize>; <condition>; <iterate>) { <statement list> }
foreach
Define un bucle mediante cada miembro de una colección.
Sintaxis:
foreach (<item> in <collection>) { <statement list> }
from
Reservado para uso futuro.
function
Crea una lista de instrucciones con nombre de código reutilizable. Puede asignar un nombre al ámbito al que pertenece una función. También puede especificar uno o varios parámetros con nombre mediante la param
palabra clave . Dentro de la lista de instrucciones de función, puede incluir dynamicparam
listas de instrucciones , begin
, process
y end
.
Sintaxis:
function [<scope:>]<name> {
param ([type]<$pname1> [, [type]<$pname2>])
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
También tiene la opción de definir uno o varios parámetros fuera de la lista de instrucciones después del nombre de la función.
Sintaxis:
function [<scope:>]<name> [([type]<$pname1>, [[type]<$pname2>])] {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
if
Define un condicional.
Sintaxis:
if (<condition>) {<statement list>}
hidden
Oculta los miembros de clase de los resultados predeterminados del Get-Member
cmdlet, IntelliSense y los resultados de finalización de tabulación.
Sintaxis:
hidden [data type] $member_name
in
Se usa en una foreach
instrucción para crear un bucle que use cada miembro de una colección.
Sintaxis:
foreach (<item> in <collection>){<statement list>}
param
Define los parámetros de una función.
Sintaxis:
function [<scope:>]<name> {
param ([type]<$pname1>[, [[type]<$pname2>]])
<statement list>
}
process
Especifica una parte del cuerpo de una función, junto con las dynamicparam
palabras clave , begin
y end
. Cuando una process
lista de instrucciones recibe la entrada de la canalización, la process
lista de instrucciones se ejecuta una vez para cada elemento de la canalización. Si la canalización no proporciona ningún objeto, la process
lista de instrucciones no se ejecuta. Si el comando es el primer comando de la canalización, la process
lista de instrucciones se ejecuta una vez.
Sintaxis:
function <name> {
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
}
return
Hace que PowerShell deje el ámbito actual, como un script o una función, y escribe la expresión opcional en la salida.
Sintaxis:
return [<expression>]
static
Especifica que la propiedad o el método definido son comunes a todas las instancias de la clase en la que se define.
Consulte class
para obtener ejemplos de uso.
switch
Para comprobar varias condiciones, use una switch
instrucción . La switch
instrucción es equivalente a una serie de if
instrucciones, pero es más sencilla.
La switch
instrucción enumera cada condición y una acción opcional. Si se obtiene una condición, se realiza la acción.
Sintaxis 1:
switch [-regex|-wildcard|-exact][-casesensitive] ( <value> )
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
Sintaxis 2:
switch [-regex|-wildcard|-exact][-casesensitive] -file <filename>
{
<string>|<number>|<variable>|{ <expression> } {<statement list>}
<string>|<number>|<variable>|{ <expression> } {<statement list>}
...
default {<statement list>}
}
throw
Produce un objeto como un error.
Sintaxis:
throw [<object>]
trap
Define una lista de instrucciones que se va a ejecutar si se encuentra un error. Un tipo de error requiere corchetes. El segundo par de corchetes indica que el tipo de error es opcional.
Sintaxis:
trap [[<error type>]] {<statement list>}
try
Define una lista de instrucciones que se va a comprobar si hay errores mientras se ejecutan las instrucciones. Si se produce un error, PowerShell continúa ejecutándose en una catch
instrucción o finally
. Un tipo de error requiere corchetes. El segundo par de corchetes indica que el tipo de error es opcional.
Sintaxis:
try {<statement list>}
catch [[<error type>]] {<statement list>}
finally {<statement list>}
until
Se usa en una do
instrucción como construcción de bucle donde se ejecuta la lista de instrucciones al menos una vez.
Sintaxis:
do {<statement list>} until (<condition>)
using
Permite indicar qué espacios de nombres se usan en la sesión. Los nombres de tipo, las clases y los miembros requieren menos escritura para hacer referencia a ellos. También puede incluir clases de módulos.
Sintaxis de espacio de nombres:
using namespace <.Net-namespace>
Sintaxis del módulo:
using module <module-name>
Sintaxis de ensamblado:
using assembly <.NET-assembly-path>
Para obtener más información, consulte about_Using.
while
La while
instrucción es una construcción de bucle en la que se prueba la condición antes de ejecutar las instrucciones. Si la condición es false, las instrucciones no se ejecutan.
Sintaxis de instrucción:
while (<condition>) {
<statements>
}
Cuando se usa en una do
instrucción , while
forma parte de una construcción de bucle donde se ejecuta la lista de instrucciones al menos una vez.
do
sintaxis de bucle:
do {<statement list>} while (<condition>)