Sdílet prostřednictvím


Join-String

Kombinuje objekty z kanálu do jednoho řetězce.

Syntax

Default (Výchozí)

Join-String
    [[-Property] <PSPropertyExpression>]
    [[-Separator] <String>]
    [-OutputPrefix <String>]
    [-OutputSuffix <String>]
    [-UseCulture]
    [-InputObject <PSObject[]>]
    [<CommonParameters>]

SingleQuote

Join-String
    [[-Property] <PSPropertyExpression>]
    [[-Separator] <String>]
    [-OutputPrefix <String>]
    [-OutputSuffix <String>]
    [-SingleQuote]
    [-UseCulture]
    [-InputObject <PSObject[]>]
    [<CommonParameters>]

DoubleQuote

Join-String
    [[-Property] <PSPropertyExpression>]
    [[-Separator] <String>]
    [-OutputPrefix <String>]
    [-OutputSuffix <String>]
    [-DoubleQuote]
    [-UseCulture]
    [-InputObject <PSObject[]>]
    [<CommonParameters>]

Format

Join-String
    [[-Property] <PSPropertyExpression>]
    [[-Separator] <String>]
    [-OutputPrefix <String>]
    [-OutputSuffix <String>]
    [-FormatString <String>]
    [-UseCulture]
    [-InputObject <PSObject[]>]
    [<CommonParameters>]

Description

Rutina Join-String spojuje nebo kombinuje text z objektů kanálu do jednoho řetězce.

Pokud nejsou zadány žádné parametry, objekty kanálu se převedou na řetězec a spojí se s výchozím oddělovačem $OFS.

Zadáním názvu vlastnosti se hodnota vlastnosti převede na řetězec a spojí se do řetězce.

Místo názvu vlastnosti lze použít blok skriptu. Výsledek bloku skriptu se před spojením převede na řetězec a vytvoří výsledek. Může buď zkombinovat text vlastnosti objektu, nebo výsledek objektu, který byl převeden na řetězec.

Tato cmdlet byla představena v PowerShellu 6.2.

Příklady

Příklad 1: Připojení názvů adresářů

Tento příklad spojí názvy adresářů, zabalí výstup do dvojitých uvozovek a odděluje názvy adresářů čárkou a mezerou (, ). Výstup je objekt řetězce.

Get-ChildItem -Directory C:\ | Join-String -Property Name -DoubleQuote -Separator ', '
"PerfLogs", "Program Files", "Program Files (x86)", "Users", "Windows"

Get-ChildItem pomocí parametru Directory získá všechny názvy adresářů pro jednotku C:\. Objekty se odesílají do kanálu Join-String. Parametr Vlastnost určuje názvy adresářů. Parametr DoubleQuote zabalí názvy adresářů dvojitými uvozovkami. Parametr oddělovač určuje použití čárky a mezery (, ) k oddělení názvů adresářů.

Objekty Get-ChildItem jsou System.IO.DirectoryInfo a Join-String převede objekty na System.String.

Příklad 2: Použití podřetětědce vlastnosti pro připojení názvů adresářů

Tento příklad používá metodu podřetědce k získání prvních čtyř písmen názvů adresářů, zabalí výstup do jednoduchých uvozovek a odděluje názvy adresářů středníkem (;).

Get-ChildItem -Directory C:\ | Join-String -Property {$_.Name.SubString(0,4)} -SingleQuote -Separator ';'
'Perf';'Prog';'Prog';'User';'Wind'

Get-ChildItem pomocí parametru Directory získá všechny názvy adresářů pro jednotku C:\. Objekty se odesílají do kanálu Join-String.

Blok skriptu parametru vlastnost používá automatickou proměnnou ($_) k určení názvu každého objektu podřetědce vlastnosti. Podřetětěr získá první čtyři písmena každého názvu adresáře. Podřetězce určuje počáteční a koncové pozice znaku. Parametr SingleQuote zabalí názvy adresářů do jednoduchých uvozovek. Parametr oddělovač určuje použití středníku (;) k oddělení názvů adresářů.

Další informace o automatických proměnných a podřetěžcích naleznete v tématu about_Automatic_Variables a podřetědce.

Příklad 3: Zobrazení výstupu spojení na samostatném řádku

Tento příklad spojí názvy služeb s každou službou na samostatném řádku a odsadí se tabulátorem.

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 používá parametr Name k určení služeb, které začínají se*. Hvězdička (*) je zástupný znak pro libovolný znak.

Objekty se odesílají do kanálu do Join-String, který používá Vlastnost parametr k určení názvů služeb. Parametr oddělovače určuje tři speciální znaky představující návrat na začátek řádku (`r), nový řádek (`n) a tabulátor (`t). OutputPrefix vloží popisek Services: s novým řádkem a tabulátorem před prvním řádkem výstupu.

Další informace o speciálních znaznachech naleznete v tématu about_Special_Characters.

Příklad 4: Vytvoření definice třídy z objektu

Tento příklad vygeneruje definici třídy PowerShellu pomocí existujícího objektu jako šablony.

Tento vzorový kód používá k zmenšení délky řádků a zlepšení čitelnosti. Další informace naleznete v části s názvem 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
}

Parametry

-DoubleQuote

Zabalí řetězcovou hodnotu každého objektu kanálu do dvojitých uvozovek.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

DoubleQuote
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-FormatString

Formátovací řetězec, který určuje, jak mají být jednotlivé položky formátovány.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

Format
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-InputObject

Určuje text, který se má spojit. Zadejte proměnnou, která obsahuje text, nebo zadejte příkaz nebo výraz, který získá objekty pro spojení s řetězci.

Vlastnosti parametru

Typ:

PSObject[]

Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-OutputPrefix

Text vložený před výstupní řetězec. Řetězec může obsahovat speciální znaky, jako je návrat na začátek řádku (`r), nový řádek (`n) a tabulátor (`t).

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:op

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-OutputSuffix

Text, který je připojený k výstupnímu řetězci. Řetězec může obsahovat speciální znaky, jako je návrat na začátek řádku (`r), nový řádek (`n) a tabulátor (`t).

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:OS

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Property

Název vlastnosti nebo výrazu vlastnosti, který promítne objekt kanálu na text.

Vlastnosti parametru

Typ:PSPropertyExpression
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Separator

Text nebo znaky, například čárka nebo středník vložený mezi text každého objektu kanálu.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:1
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SingleQuote

Zabalí řetězcovou hodnotu každého objektu kanálu do jednoduchých uvozovek.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

SingleQuote
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-UseCulture

Použije oddělovač seznamu pro aktuální kulturu jako oddělovač položek. K vyhledání oddělovače seznamu pro kulturu použijte následující příkaz: (Get-Culture).TextInfo.ListSeparator.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

PSObject

Výstupy

String