Join-String
Combina objetos do pipeline em uma única cadeia de caracteres.
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-SingleQuote]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-DoubleQuote]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
Join-String
[[-Property] <PSPropertyExpression>]
[[-Separator] <String>]
[-OutputPrefix <String>]
[-OutputSuffix <String>]
[-FormatString <String>]
[-UseCulture]
[-InputObject <PSObject[]>]
[<CommonParameters>]
O Join-String
cmdlet une ou combina texto de objetos de pipeline em uma única cadeia de caracteres.
Se nenhum parâmetro for especificado, os objetos de pipeline serão convertidos em uma string e unidos com o separador $OFS
padrão.
Observação
Quando você define $OFS
seu valor é usado para unir matrizes quando elas são convertidas em strings até que a variável seja redefinida para $null
. Como o uso $OFS
pode ter efeitos não intencionais em outro lugar em seu código, é melhor usar o parâmetro Separator .
Ao especificar um nome de propriedade, o valor da propriedade é convertido em uma cadeia de caracteres e unido em uma cadeia de caracteres.
Em vez de um nome de propriedade, um bloco de script pode ser usado. O resultado do bloco de script é convertido em uma cadeia de caracteres antes de ser unido para formar o resultado. Ele pode combinar o texto da propriedade de um objeto ou o resultado do objeto que foi convertido em uma cadeia de caracteres.
Esse cmdlet foi introduzido no PowerShell 6.2.
Este exemplo une nomes de diretórios, encapsula a saída entre aspas duplas e separa os nomes de diretórios com vírgula e espaço (,
). A saída é um objeto de cadeia de caracteres.
Get-ChildItem -Directory C:\ | Join-String -Property Name -DoubleQuote -Separator ', '
"PerfLogs", "Program Files", "Program Files (x86)", "Users", "Windows"
Get-ChildItem
usa o parâmetro Directory para obter todos os nomes de diretório da C:\
unidade.
Os objetos são enviados pelo pipeline para Join-String
. O parâmetro Property especifica os nomes de diretório. O parâmetro DoubleQuote envolve os nomes de diretório com aspas duplas.
O parâmetro Separator especifica o uso de uma vírgula e espaço (,
) para separar os nomes dos diretórios.
Os Get-ChildItem
objetos são System.IO.DirectoryInfo e Join-String
convertem os objetos em System.String.
Este exemplo usa um método de subcadeia de caracteres para obter as quatro primeiras letras dos nomes de diretório, encapsula a saída entre aspas simples e separa os nomes de diretório com um ponto-e-vírgula (;
).
Get-ChildItem -Directory C:\ | Join-String -Property {$_.Name.SubString(0,4)} -SingleQuote -Separator ';'
'Perf';'Prog';'Prog';'User';'Wind'
Get-ChildItem
usa o parâmetro Directory para obter todos os nomes de diretório da C:\
unidade.
Os objetos são enviados pelo pipeline para Join-String
.
O bloco de script de parâmetro Propriedade usa a variável automática ($_
) para especificar a subcadeia de caracteres da propriedade Name de cada objeto. A substring obtém as quatro primeiras letras de cada nome de diretório. A subcadeia de caracteres especifica as posições inicial e final do caractere. O parâmetro SingleQuote encapsula os nomes de diretório com aspas simples. O parâmetro Separator especifica o uso de um ponto-e-vírgula (;
) para separar os nomes dos diretórios.
Para obter mais informações sobre variáveis automáticas e subcadeias de caracteres, consulte about_Automatic_Variables e Subcadeia de caracteres.
Este exemplo une nomes de serviço a cada serviço em uma linha separada e recuada por uma guia.
Get-Service -Name se* | Join-String -Property Name -Separator "`r`n`t" -OutputPrefix "Services:`n`t"
Services:
seclogon
SecurityHealthService
SEMgrSvc
SENS
Sense
SensorDataService
SensorService
SensrSvc
SessionEnv
Get-Service
usa o parâmetro Name with para especificar serviços que começam com se*
. O asterisco (*
) é um curinga para qualquer caractere.
Os objetos são enviados pelo pipeline para Join-String
que use o parâmetro Property para especificar os nomes de serviço. O parâmetro Separator especifica três caracteres especiais que representam um retorno de carro (`r
), uma nova linha (`n
) e uma tabulação (`t
). O OutputPrefix insere um rótulo Services:
com uma nova linha e uma nova guia antes da primeira linha de saída.
Para obter mais informações sobre caracteres especiais, consulte about_Special_Characters.
Este exemplo gera uma definição de classe do PowerShell usando um objeto existente como modelo.
Este exemplo de código usa splatting para reduzir o comprimento da linha e melhorar a legibilidade. Para obter mais informações, consulte about_Splatting.
$obj = [pscustomobject] @{Name = "Joe"; Age = 42}
$parms = @{
Property = "Name"
FormatString = ' ${0}'
OutputPrefix = "class {`n"
OutputSuffix = "`n}`n"
Separator = "`n"
}
$obj.PSObject.Properties | Join-String @parms
class {
$Name
$Age
}
Encapsula o valor da cadeia de caracteres de cada objeto de pipeline entre aspas duplas.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Especifica uma cadeia de caracteres de formato que especifica como cada objeto de pipeline deve ser formatado antes de juntá-los. Use o espaço reservado {0}
para representar o objeto atual. Se você precisar manter as chaves ({}
) na cadeia de caracteres formatada, poderá escapar delas dobrando as chaves ({{
e }}
).
Para obter mais informações, consulte o método String.Format e Composite Formatting.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Especifica o texto a ser unido. Insira uma variável que contenha o texto ou digite um comando ou expressão que faça com que os objetos se juntem em cadeias de caracteres.
Tipo: | PSObject[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
Texto inserido antes da cadeia de caracteres de saída. A cadeia de caracteres pode conter caracteres especiais, como retorno de carro (`r
), nova linha (`n
) e tabulação (`t
).
Tipo: | String |
Aliases: | op |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Texto acrescentado à cadeia de caracteres de saída. A cadeia de caracteres pode conter caracteres especiais, como retorno de carro (`r
), nova linha (`n
) e tabulação (`t
).
Tipo: | String |
Aliases: | os |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
O nome de uma propriedade, ou uma expressão de propriedade, a ser convertida em texto.
Tipo: | PSPropertyExpression |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Texto ou caracteres, como uma vírgula ou ponto-e-vírgula, inseridos entre o texto de cada objeto de pipeline.
Por padrão, os objetos de pipeline são unidos sem um separador. Se a variável de preferência Separador de campo de saída ($OFS
) estiver definida, esse valor será usado, a menos que esse parâmetro seja especificado.
Observação
Quando você define $OFS
seu valor é usado para unir matrizes quando elas são convertidas em strings até que a variável seja redefinida para $null
. Como o uso $OFS
pode ter efeitos não intencionais em outro lugar em seu código, é melhor usar o parâmetro Separator .
Tipo: | String |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Encapsula o valor da cadeia de caracteres de cada objeto de pipeline entre aspas simples.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Usa o separador de lista para a cultura atual como o delimitador de item. Para localizar o separador de lista de uma cultura, use o seguinte comando: (Get-Culture).TextInfo.ListSeparator
.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Comentários do PowerShell
O PowerShell é um projeto código aberto. Selecione um link para fornecer comentários: