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.