Búsqueda de sitios web

Out-String (Microsoft.PowerShell.Utility)


Out-String

Módulo:
Microsoft.PowerShell.Utility

Genera objetos de entrada como una cadena.

Sintaxis

Out-String
   [-Width <Int32>]
   [-NoNewline]
   [-InputObject <PSObject>]
   [<CommonParameters>]
Out-String
   [-Stream]
   [-Width <Int32>]
   [-InputObject <PSObject>]
   [<CommonParameters>]

Descripción

El cmdlet Out-String convierte objetos de entrada en cadenas. De forma predeterminada, Out-String acumula las cadenas y las devuelve como una sola cadena, pero puede usar el parámetro Stream para dirigir Out-String para devolver una línea a la vez o crear una matriz de cadenas. Este cmdlet le permite buscar y manipular la salida de cadenas como lo haría en shells tradicionales cuando la manipulación de objetos es menos conveniente.

PowerShell también agrega la función OSS que llama a Out-String -Stream como una forma abreviada de usar Out-String en una canalización.

Ejemplos

Ejemplo 1: obtener la cultura actual y convertir los datos en cadenas

Este ejemplo obtiene la configuración regional para el usuario actual y convierte los datos del objeto en cadenas.

$C = Get-Culture | Select-Object -Property *
Out-String -InputObject $C -Width 100

Parent                         : en
LCID                           : 1033
KeyboardLayoutId               : 1033
Name                           : en-US
IetfLanguageTag                : en-US
DisplayName                    : English (United States)
NativeName                     : English (United States)
EnglishName                    : English (United States)
TwoLetterISOLanguageName       : en
ThreeLetterISOLanguageName     : eng
ThreeLetterWindowsLanguageName : ENU
CompareInfo                    : CompareInfo - en-US
TextInfo                       : TextInfo - en-US
IsNeutralCulture               : False
CultureTypes                   : SpecificCultures, InstalledWin32Cultures, FrameworkCultures
NumberFormat                   : System.Globalization.NumberFormatInfo
DateTimeFormat                 : System.Globalization.DateTimeFormatInfo
Calendar                       : System.Globalization.GregorianCalendar
OptionalCalendars              : {System.Globalization.GregorianCalendar,
                                 System.Globalization.GregorianCalendar}
UseUserOverride                : True
IsReadOnly                     : False

La variable $C almacena un objeto Selected.System.Globalization.CultureInfo. El objeto es el resultado de que Get-Culture envíe la salida por el proceso a Select-Object. El parámetro Property utiliza un comodín de asterisco (*) para especificar todas las propiedades contenidas en el objeto.

Out-String utiliza el parámetro InputObject para especificar el objeto CultureInfo almacenado en la variable $C. Los objetos en $C se convierten en una cadena.

Nota

Para ver la matriz Out-String, almacene la salida en una variable y use un índice de matriz para ver los elementos. Para obtener más información sobre el índice de matriz, consulte about_Arrays.

$str = Out-String -InputObject $C -Width 100

Ejemplo 2: trabajar con objetos

Este ejemplo demuestra la diferencia entre trabajar con objetos y trabajar con cadenas. El comando muestra un alias que incluye el texto gcm, el alias de Get-Command.

Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"

Alias           gcm -> Get-Command

Get-Alias obtiene los objetos System.Management.Automation.AliasInfo, uno para cada alias, y envía los objetos por el proceso. Out-String utiliza el parámetro Stream para convertir cada objeto en una cadena en lugar de concatenar todos los objetos en una sola cadena. Los objetos System.String se envían por el proceso y Select-String usa el parámetro Pattern para encontrar coincidencias para el texto gcm .

Nota

Si omite el parámetro Stream, el comando muestra todos los alias porque Select-String encuentra el texto gcm en la cadena única que Devuelve Out-String.

Ejemplo 3: utilice el parámetro Ancho para evitar el truncamiento.

Si bien la mayor parte de la salida de Out-String se ajusta a la siguiente línea, hay escenarios en los que el sistema de formato trunca la salida antes de pasar a Out-String. Puede evitar el truncamiento utilizando el parámetro Ancho.

PS> @{TestKey = ('x' * 200)} | Out-String
Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...

PS> @{TestKey = ('x' * 200)} | Out-String -Width 250

Name                           Value
----                           -----
TestKey                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Parámetros

-InputObject

Especifica los objetos que se escribirán en una cadena. Introduzca una variable que contenga los objetos o escriba un comando o expresión que obtenga los objetos.

Tipo :

PSObjeto

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

False

-NoNewline

Elimina todas las nuevas líneas de la salida generada por el formateador de PowerShell. Se conservan las nuevas líneas que forman parte de los objetos de cadena.

Este parámetro se introdujo en PowerShell 6.0.

Tipo :

SwitchParameter

Posición:

Nombrado

Valor predeterminado:

False

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-Stream

De forma predeterminada, Out-String genera una única cadena formateada como la vería en la consola, incluidos los encabezados en blanco o las nuevas líneas finales. El parámetro Stream permite que Out-String genere cada línea una por una. La única excepción a esto son las cadenas multilínea. En ese caso, Out-String seguirá generando la cadena como una cadena única de varias líneas.

Tipo :

SwitchParameter

Posición:

Nombrado

Valor predeterminado:

False

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-Width

Especifica el número de caracteres en cada línea de salida. Los caracteres adicionales se ajustan a la siguiente línea o se truncan según el cmdlet del formateador utilizado. El parámetro Ancho se aplica solo a los objetos a los que se les está dando formato. Si omite este parámetro, el ancho está determinado por las características del programa anfitrión. En las ventanas de terminal (consola), el ancho de la ventana actual se utiliza como valor predeterminado. Las ventanas de la consola PowerShell tienen de forma predeterminada un ancho de 80 caracteres durante la instalación.

Tipo :

Int32

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

Entradas

PSObjeto

Puede canalizar cualquier objeto a este cmdlet.

Salidas

Cadena

Este cmdlet devuelve la cadena que crea a partir del objeto de entrada.

Notas

Los cmdlets que contienen el verbo Out no dan formato a los objetos. Los cmdlets Out envían objetos al formateador para el destino de visualización especificado.

PowerShell 7.2 agregó la capacidad de controlar cómo se representan las secuencias de escape ANSI. La salida decorada con ANSI que se pasa a Out-String se puede modificar según la configuración de la propiedad $PSStyle.OutputRendering. Para obtener más información, consulte about_ANSI_Terminals.

Artículos relacionados