Out-String
Gera objetos de entrada como uma cadeia de caracteres.
Syntax
Out-String
[-Width <Int32>]
[-NoNewline]
[-InputObject <PSObject>]
[<CommonParameters>]
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
Description
O Out-String
cmdlet converte objetos de entrada em cadeias de caracteres. Por padrão, Out-String
acumula as cadeias de caracteres e as retorna como uma única cadeia de caracteres, mas você pode usar o parâmetro Stream para direcionar Out-String
para retornar uma linha de cada vez ou criar e matriz de cadeias de caracteres. Esse cmdlet permite pesquisar e manipular a saída da cadeia de caracteres como faria em shells tradicionais quando a manipulação de objetos for menos conveniente.
Exemplos
Exemplo 1: obter a cultura atual e converter os dados em cadeias de caracteres
Este exemplo obtém as configurações regionais do usuário atual e converte os dados do objeto em cadeias de caracteres.
$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
A $C
variável armazena um objeto Selected.System.Globalization.CultureInfo . O objeto é o resultado do envio da Get-Culture
saída pelo pipeline para Select-Object
. O parâmetro Property usa um curinga de asterisco (*
) para especificar que todas as propriedades estão contidas no objeto.
Out-String
usa o parâmetro InputObject para especificar o objeto CultureInfo armazenado na $C
variável. Os objetos em são convertidos em $C
uma cadeia de caracteres.
Observação
Para exibir a Out-String
matriz, armazene a saída em uma variável e use um índice de matriz para exibir os elementos. Para obter mais informações sobre o índice de matriz, consulte about_Arrays.
$str = Out-String -InputObject $C -Width 100
Exemplo 2: Trabalhando com objetos
Este exemplo demonstra a diferença entre trabalhar com objetos e trabalhar com cadeias de caracteres. O comando exibe um alias que inclui o gcm de texto, o alias para Get-Command
.
Get-Alias | Out-String -Stream | Select-String -Pattern "gcm"
Alias gcm -> Get-Command
Get-Alias
obtém os objetos System.Management.Automation.AliasInfo , um para cada alias e envia os objetos para baixo do pipeline. Out-String
usa o parâmetro Stream para converter cada objeto em uma cadeia de caracteres em vez de concatenar todos os objetos em uma única cadeia de caracteres. Os objetos System.String são enviados pelo pipeline e Select-String
usam o parâmetro Pattern para localizar correspondências para o gcm de texto.
Observação
Se você omitir o parâmetro Stream , o comando exibirá todos os aliases porque Select-String
localizará o gcm de texto na única cadeia de caracteres retornada Out-String
.
Exemplo 3: Use o parâmetro Width para evitar truncamento.
Embora a maior parte da saída seja Out-String
encapsulada para a próxima linha, há cenários em que a saída é truncada pelo sistema de formatação antes de ser passada para Out-String
. Você pode evitar truncamento usando o parâmetro Width .
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 os objetos a serem gravados em uma cadeia de caracteres. Insira uma variável que contém os objetos ou digite um comando ou uma expressão que obtém os objetos.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Remove todas as linhas novas da saída gerada pelo formatador do PowerShell. As linhas novas que fazem parte dos objetos de cadeia de caracteres são preservadas.
Esse parâmetro foi introduzido no PowerShell 6.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Stream
Indica que o cmdlet envia uma cadeia de caracteres separada para cada linha de um objeto de entrada. Por padrão, as cadeias de caracteres para cada objeto são acumuladas e enviadas como uma única cadeia de caracteres.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Width
Especifica o número de caracteres em cada linha de saída. Todos os caracteres adicionais são encapsulados para a próxima linha ou truncados, dependendo do cmdlet do formatador usado. O parâmetro Width aplica-se somente a objetos que estão sendo formatados. Se você omitir esse parâmetro, a largura será determinada pelas características do programa host. Nas janelas de terminal (console), a largura da janela atual é usada como o valor padrão. As janelas de console do PowerShell são padrão para uma largura de 80 caracteres na instalação.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Você pode enviar objetos no pipeline para Out-String
.
Saídas
Out-String
retorna a cadeia de caracteres que ela cria do objeto de entrada.
Observações
Os cmdlets que contêm o Out
verbo não formatizam objetos. Os Out
cmdlets enviam objetos para o formatador para o destino de exibição especificado.