Vous êtes sur la page 1sur 6

TEMA

about_Quoting_Rules
DESCRIPCIN BREVE
Describe las reglas referentes al uso de comillas simples y
dobles en Windows PowerShell.
DESCRIPCIN DETALLADA
Las comillas se utilizan para especificar una cadena literal.
Puede escribir una cadena entre comillas simples (') o entre
comillas dobles (").
Las comillas tambin se utilizan para crear una cadena multilnea
intercalada en el cdigo. Una cadena multilnea intercalada en el
cdigo es una cadena entre comillas simples o dobles que se
interpretan de manera literal. Este tipo de cadena puede abarcar
varias lneas. Todas estas lneas se interpretan como cadenas,
aunque no estn entre comillas.
En los comandos remotos, las comillas definen las partes del
comando que se ejecutan en el equipo remoto. En una sesin
remota, las comillas determinan tambin si las variables de un
comando se interpretan primero en el equipo local o en el equipo
remoto.
Cadenas entre comillas simples o dobles
Si escribe una cadena entre comillas dobles, los nombres de
variables precedidos de un signo de dlar ($) se reemplazan con
el valor de la variable antes de que se pase la cadena al
comando para su procesamiento.
Por ejemplo:
$i = 5
"El valor de $i es $i."
El resultado de este comando es el siguiente:
El valor de 5 es 5.
Asimismo, en una cadena entre comillas dobles, se evalan las
expresiones y se inserta el resultado en la cadena. Por ejemplo:
"El valor de $(2+3) es 5."
El resultado de este comando es el siguiente:
El valor de 5 es 5.
Si escribe una cadena entre comillas simples, la cadena se

pasar al comando exactamente como la escribi. No se realiza


ninguna sustitucin. Por ejemplo:
$i = 5
'El valor de $i es $i.'
El resultado de este comando es el siguiente:
El valor de $i es $i.
De manera similar, no se evalan las expresiones en las cadenas
que se encuentran entre comillas simples. Se interpretan como
literales. Por ejemplo:
'El valor de $(2+3) es 5.'
El resultado de este comando es el siguiente:
El valor de $(2+3) es 5.
Para evitar que se reemplace un valor de variable en una cadena
entre comillas dobles, utilice el carcter de acento grave (`)
(ASCII 96), que es el carcter de escape de Windows PowerShell.
En el siguiente ejemplo, el carcter de acento grave que
precede a la primera variable $i evita que Windows PowerShell
reemplace el nombre de la variable por su valor. Por ejemplo:
$i = 5
"El valor de `$i es $i."
El resultado de este comando es el siguiente:
El valor de $i es 5.
Para que aparezcan comillas dobles en una cadena, escriba toda
la cadena entre comillas simples. Por ejemplo:
'Como dicen, "nunca te acostars sin saber una cosa ms".'
El resultado de este comando es el siguiente:
Como dicen, "nunca te acostars sin saber una cosa ms".
Tambin puede escribir una cadena entre comillas simples en una
cadena entre comillas dobles. Por ejemplo:
"Como dicen, 'nunca te acostars sin saber una cosa ms'."
El resultado de este comando es el siguiente:

Como dicen, 'nunca te acostars sin saber una cosa ms'.


O bien, duplique las comillas alrededor de una frase que se
encuentra entre comillas dobles. Por ejemplo:
"Como dicen, ""nunca te acostars sin saber una cosa ms""."
El resultado de este comando es el siguiente:
Como dicen, "nunca te acostars sin saber una cosa ms".
Para incluir comillas simples en una cadena entre comillas simples,
utilice una segunda comilla simple consecutiva. Por ejemplo:
'un nio ''tranquilo'''
El resultado de este comando es el siguiente:
un nio 'tranquilo'
Para obligar a Windows PowerShell a interpretar literalmente
las comillas dobles, utilice un carcter de acento grave. De
este modo, Windows PowerShell no interpreta la comilla como un
delimitador de cadena. Por ejemplo:
"Usar una comilla (`") para comenzar una cadena."
Dado que el contenido de las cadenas entre comillas simples se
interpreta literalmente, no se puede usar el carcter de acento
grave para que se interpreten literalmente los caracteres en
una cadena entre comillas simples.
Por ejemplo, el comando siguiente genera un error porque
Windows PowerShell no reconoce el carcter de escape. En su
lugar, interpreta la segunda comilla como final de la cadena.
PS C:\> 'Usar una comilla (`') para comenzar una cadena.'
Smbolo (token) inesperado ')' en la expresin o la instruccin.
En lnea:1 carcter:27
+ 'Usar una comilla (`') <<<< para comenzar una cadena.'
Cadenas multilnea intercaladas en el cdigo que se encuentran entre
comillas simples o dobles
Las reglas referentes al uso de comillas para las cadenas multilnea
intercaladas en el cdigo son ligeramente diferentes.
Una cadena multilnea intercalada en el cdigo es una cadena
entre comillas simples o dobles que se interpretan de manera

literal. Este tipo de cadena puede abarcar varias lneas. Todas


estas lneas se interpretan como cadenas, aunque no estn entre
comillas.
Al igual que en las cadenas normales, las variables se
reemplazan con sus valores en las cadenas multilnea
intercaladas en el cdigo que se encuentran entre comillas
dobles. En las cadenas multilnea intercaladas en el cdigo que
se encuentran entre comillas simples, las variables no se
reemplazan con sus valores.
Puede utilizar este tipo de cadenas para cualquier texto, pero
resultan particularmente tiles para los siguientes tipos de texto:
- Texto que contiene comillas literales;
- varias lneas de texto, como el texto de un documento HTML o XML;
- y el texto de la Ayuda de un script o una funcin.
Una cadena multilnea intercalada en el cdigo puede tener
cualquiera de los formatos siguientes, donde <Entrar>
representa el carcter oculto de avance de lnea o lnea nueva
que se agrega al presionar la tecla ENTRAR.
Formato 1:
@"<Entrar>
<cadena> [cadena] ...<Entrar>
"@
Formato 2:
@'<Entrar>
<cadena> [cadena] ...<Entrar>
'@
En ambos formatos, la comilla de cierre debe ser el primer
carcter de la lnea.
Una cadena multilnea intercalada en el cdigo contiene todo el
texto que se encuentra entre los dos caracteres ocultos.
En este tipo de cadena, todas las comillas se interpretan literalmente.
Por ejemplo:
@"
Para obtener ayuda, escriba "get-help"
"@
El resultado de este comando es el siguiente:
Para obtener ayuda, escriba "get-help"

Si utiliza una cadena multilnea intercalada en el cdigo,


puede simplificar el uso de una cadena en un comando. Por ejemplo:
@"
Usar una comilla (') para comenzar una cadena.
"@
El resultado de este comando es el siguiente:
Usar una comilla (') para comenzar una cadena.
En las cadenas multilnea intercaladas en el cdigo que se
encuentran entre comillas simples, las variables se interpretan
literalmente y se reproducen exactamente como se escriben. Por
ejemplo:
@'
La variable $profile contiene la ruta de acceso
de su perfil de Windows PowerShell.
'@
El resultado de este comando es el siguiente:
La variable $profile contiene la ruta de acceso
de su perfil de Windows PowerShell.
En las cadenas multilnea intercaladas en el cdigo que se
encuentran entre comillas dobles, las variables se reemplazan
con sus valores. Por ejemplo:
@"
Incluso si no ha creado un perfil, la ruta de acceso del
archivo de perfil es:
$profile.
"@
El resultado de este comando es el siguiente:
Incluso si no ha creado un perfil,
la ruta de acceso del archivo de perfil es:
C:\Users\User01\Documents\WindowsPowerShell\Microsoft.PowerShell_profi
le.ps1.
Las cadenas multilnea intercaladas en el cdigo se suelen
utilizar para asignar varias lneas a una variable. Por
ejemplo, la siguiente cadena multilnea intercalada en el
cdigo asigna una pgina XML a la variable $page.
$page = [XML] @"
<command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
<command:details>

<command:name>
Format-Table
</command:name>
<maml:description>
<maml:para>Aplica al resultado el formato de tabla.</mam
l:para>
</maml:description>
<command:verb>format</command:verb>
<command:noun>table</command:noun>
<dev:version></dev:version>
</command:details>
...
</command:command>
"@
Las cadenas multilnea intercaladas en el cdigo tambin
resultan tiles para proporcionar datos al cmdlet
ConvertFrom-StringData, que convierte estas cadenas en tablas
hash. Para obtener ms informacin, vea ConvertFrom-StringData.
VEA TAMBIN
about_Escape_Characters
ConvertFrom-StringData

Vous aimerez peut-être aussi