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, consulte el tema sobre la palabra clave y la información que sigue a la tabla.

Palabra clave Referencia
begin about_Functions, about_Functions_Advanced
break about_Break, about_Trap
catch about_Try_Catch_Finally
class about_Classes
clean about_Functions, about_Functions_Advanced_Methods
continue about_Continue, about_Trap
data about_Data_Sections
define Reservado para uso futuro
do about_Do, about_While
dynamicparam about_Functions_Advanced_Parameters
else about_If
elseif about_If
end about_Functions, about_Functions_Advanced_Methods
enum about_Enum
exit Descrito en este tema
filter about_Functions
finally about_Try_Catch_Finally
for about_For
foreach about_Foreach
from Reservado para uso futuro
function about_Functions, about_Functions_Advanced
hidden about_Hidden
if about_If
in about_Foreach
param about_Functions
process about_Functions, about_Functions_Advanced
return about_Return
static about_Classes
switch about_Switch
throw about_Throw, about_Functions_Advanced_Methods
trap about_Trap, about_Break, about_Try_Catch_Finally
try about_Try_Catch_Finally
until about_Do
using about_Using, about_Classes
var Reservado para uso futuro
while about_While, about_Do

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 palabras clave dynamicparam, processy end. La lista de instrucciones begin se ejecuta una vez antes de que se reciban objetos de la pipeline.

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 de try que lo acompaña. 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 palabra clave clean se agregó en PowerShell 7.3. La palabra clave define un bloque de código cuyo funcionamiento está garantizado después de los bloques begin, process y end de una función. A diferencia del bloque end, el bloque clean 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 palabra clave while o until como un constructo de bucle. PowerShell ejecuta la lista de instrucciones al menos una vez, a diferencia de un bucle que usa while.

Sintaxis de while:

do {<statement list>} while (<condition>)

Sintaxis de until:

do {<statement list>} until (<condition>)

dynamicparam

Especifica una parte del cuerpo de una función, junto con las palabras clave begin, processy 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 palabra clave if para especificar la lista de instrucciones predeterminada.

Sintaxis:

if (<condition>) {<statement list>}
else {<statement list>}

elseif

Se usa con las palabras clave if y else para especificar condicionales adicionales. La palabra clave else 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 palabras clave dynamicparam, beginy end. La lista de instrucciones end se ejecuta una vez después de que se hayan recibido todos los objetos de la pipeline.

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

Permite que PowerShell salga de un script o de una instancia de PowerShell.

Sintaxis:

exit
exit <exitcode>

Cuando se usa con el parámetro File , el propio archivo (script) debe incluir instrucciones para controlar los errores o excepciones que se producen mientras se ejecuta el script. Solo debe usar la instrucción exit 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 de -255 se traduce automáticamente en un número positivo agregando 256. Por ejemplo, -2 se transforma en 254.

En PowerShell, la instrucción exit establece el valor de la variable $LASTEXITCODE. En el Shell de comandos de Windows (cmd.exe), la instrucción exit establece el valor de la variable de entorno %ERRORLEVEL%.

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 la variable de nivel de error en 4 agregando exit 4 al archivo de script test.ps1.

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

Al ejecutar pwsh.exe -File <path to a script> y el archivo de script finaliza con un comando exit, el código de salida se establece en el argumento numérico usado con el comando exit. Si el script no tiene ninguna instrucción exit, el código de salida siempre se 0 cuando el script se completa sin error ni 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 bloque process.

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 lista de instrucciones finally se ejecuta incluso si presiona CTRL+C para salir de un script o si usa la palabra clave exit 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 nombrada de sentencias 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 palabra clave param. En la lista de instrucciones de función, puede incluir las listas de instrucciones dynamicparam, 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 una condicional.

Sintaxis:

if (<condition>) {<statement list>}

hidden

Oculta los miembros de la clase de los resultados predeterminados del cmdlet Get-Member, IntelliSense y los resultados de finalización de tabulación.

Sintaxis:

hidden [data type] $member_name

in

Se usa en una instrucción foreach 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 palabras clave dynamicparam, beginy end. Cuando una lista de instrucciones process recibe la entrada de la canalización, la lista de instrucciones de process se ejecuta una vez para cada elemento de la canalización. Si la canalización no proporciona ningún objeto, la lista de instrucciones process no se ejecuta. Si el comando es el primer comando de la canalización, la lista de instrucciones process 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, utilice una instrucción switch. La instrucción switch es equivalente a una serie de instrucciones if, pero es más sencilla.

La instrucción switch enumera cada condición y una acción opcional. Si se cumple 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

Lanza un objeto como 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 comprobará en busca de errores mientras se ejecutan las instrucciones. Si se produce un error, PowerShell continúa ejecutándose en una instrucción catch 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 instrucción do como una 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 utilizan en la sesión. Los nombres de tipo, las clases y los miembros requieren menos tecleo para hacer referencia a ellos. También puede incluir clases de módulos.

Sintaxis de espacios de nombres:

using namespace <.NET-namespace>

Sintaxis del módulo:

using module <module-name>

Sintaxis de ensamblado:

using assembly <.NET-assembly-path>

Para más información, consulte about_Using.

while

La instrucción while es una construcción de bucle donde se prueba la condición antes de ejecutar las instrucciones. Si la condición es falsa, las instrucciones no se ejecutan.

Sintaxis de instrucciones:

while (<condition>) {
   <statements>
 }

Cuando se usa en una instrucción do, while forma parte de una construcción de bucle donde la lista de instrucciones se ejecuta al menos una vez.

sintaxis del bucle do:

do {<statement list>} while (<condition>)

Consulte también