Join-String
A folyamat objektumait egyetlen sztringbe egyesíti.
Syntax
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>]
Description
A Join-String
parancsmag a folyamatobjektumokból származó szöveget egyetlen sztringbe illeszti vagy egyesíti.
Ha nincsenek megadva paraméterek, a folyamatobjektumok sztringgé alakulnak, és csatlakoznak az alapértelmezett elválasztóhoz $OFS
.
Feljegyzés
Ha beállítja $OFS
az értékét, a rendszer a tömbök összekapcsolására használja, amikor sztringekké konvertálják őket, amíg a változó vissza nem áll $null
. Mivel a használatnak $OFS
máshol is lehetnek szándékolt hatásai a kódban, célszerű inkább az Elválasztó paramétert használni.
A tulajdonságnév megadásával a tulajdonság értéke sztringgé alakul, és sztringgé alakul.
Tulajdonságnév helyett szkriptblokk használható. A szkriptblokk eredménye sztringgé lesz konvertálva, mielőtt hozzá lett volna fűzve az eredmény létrehozásához. Kombinálhatja egy objektum tulajdonságának szövegét vagy a sztringgé konvertált objektum eredményét.
Ez a parancsmag a PowerShell 6.2-ben lett bevezetve.
Példák
1. példa: Könyvtárnevek csatlakoztatása
Ez a példa összekapcsolja a címtárneveket, dupla idézőjelekbe burkolja a kimenetet, és vesszővel és szóközzel (,
) elválasztja a címtárneveket. A kimenet egy sztringobjektum.
Get-ChildItem -Directory C:\ | Join-String -Property Name -DoubleQuote -Separator ', '
"PerfLogs", "Program Files", "Program Files (x86)", "Users", "Windows"
Get-ChildItem
A Címtár paraméter használatával lekérheti a meghajtó összes könyvtárnevétC:\
.
A rendszer elküldi az objektumokat a folyamatnak Join-String
. A Tulajdonság paraméter megadja a címtárneveket. A DoubleQuote paraméter dupla idézőjelekkel burkolja a címtárneveket.
Az Elválasztó paraméter vesszővel és szóközzel (,
) választja el a címtárneveket.
Az Get-ChildItem
objektumok a System.IO.DirectoryInfo, és Join-String
az objektumokat System.Stringre konvertálják.
2. példa: A címtárnevek összekapcsolásához használjon tulajdonságrészt
Ez a példa egy alstring metódust használ a címtárnevek első négy betűjének lekéréséhez, a kimenetet egy idézőjelbe burkolja, és pontosvesszővel (;
pontosvesszővel) elválasztja a címtárneveket.
Get-ChildItem -Directory C:\ | Join-String -Property {$_.Name.SubString(0,4)} -SingleQuote -Separator ';'
'Perf';'Prog';'Prog';'User';'Wind'
Get-ChildItem
A Címtár paraméter használatával lekérheti a meghajtó összes könyvtárnevétC:\
.
A rendszer elküldi az objektumokat a folyamatnak Join-String
.
A tulajdonságparaméter szkriptblokkja automatikus változót ($_
) használ az egyes objektumok Névtulajdonság-részsztringjének megadásához. Az alsztring minden könyvtárnév első négy betűje lesz. Az alsztring határozza meg a karakter kezdő és záró pozícióit. A SingleQuote paraméter egy idézőjelekkel burkolja a címtárneveket. Az Elválasztó paraméter pontosvesszővel (;
) választja el a címtárneveket.
Az automatikus változókkal és részszúrásokkal kapcsolatos további információkért lásd: about_Automatic_Variables és substring.
3. példa: Illesztés kimenetének megjelenítése külön sorban
Ez a példa a szolgáltatásneveket az egyes szolgáltatásokhoz egy külön sorba illeszti, és behúzza egy lapra.
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
A Név paraméterrel adja meg a következővel se*
kezdődő szolgáltatásokat: A csillag (*
) bármely karakter helyettesítő karaktere.
A rendszer elküldi az objektumokat a folyamatnak Join-String
, amely a Tulajdonság paramétert használja a szolgáltatásnevek megadásához. Az Elválasztó paraméter három speciális karaktert ad meg, amelyek a kocsi visszatérését (`r
), az új vonalat (`n
) és a tabulátort (`t
) jelölik. Az OutputPrefix egy új sort és tabulátort tartalmazó címkét Services:
szúr be az első kimeneti sor elé.
További információ a speciális karakterekről: about_Special_Characters.
4. példa: Osztálydefiníció létrehozása objektumból
Ez a példa egy PowerShell-osztálydefiníciót hoz létre egy meglévő objektum sablonként való használatával.
Ez a kódminta splatting használatával csökkenti a vonal hosszát és javítja az olvashatóságot. További információ: 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
}
Paraméterek
-DoubleQuote
Az egyes folyamatobjektumok sztringértékét dupla idézőjelek közé csomagolja.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-FormatString
Egy formázási sztringet ad meg, amely meghatározza, hogy az egyes folyamatobjektumok hogyan legyenek formázva a csatlakozás előtt. Az aktuális objektumot a {0}
helyőrző használatával jelölheti. Ha meg kell tartania a kapcsos zárójeleket ({}
) a formázott sztringben, a kapcsos kapcsos zárójelek ({{
és }}
) duplálásával elkerülheti őket.
További információ: String.Format metódus és összetett formázás.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-InputObject
Megadja az illesztendő szöveget. Írjon be egy olyan változót, amely tartalmazza a szöveget, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat, hogy sztringekké csatlakozzanak.
Típus: | PSObject[] |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-OutputPrefix
A kimeneti sztring elé beszúrt szöveg. A sztring tartalmazhat speciális karaktereket, például kocsivissza (`r
), newline (`n
) és tab (`t
).
Típus: | String |
Aliasok: | op |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-OutputSuffix
A kimeneti sztringhez hozzáfűzött szöveg. A sztring tartalmazhat speciális karaktereket, például kocsivissza (`r
), newline (`n
) és tab (`t
).
Típus: | String |
Aliasok: | os |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Property
A szöveggé konvertálandó tulajdonság vagy tulajdonságkifejezés neve.
Típus: | PSPropertyExpression |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Separator
Az egyes folyamatobjektumok szövege közé beszúrt szöveg vagy karakterek, például vessző vagy pontosvessző.
Alapértelmezés szerint a folyamatobjektumok elválasztó nélkül csatlakoznak. Ha a Kimeneti mező elválasztó beállítási változója ($OFS
) be van állítva, a rendszer ezt az értéket használja, hacsak nincs megadva ez a paraméter.
Feljegyzés
Ha beállítja $OFS
az értékét, a rendszer a tömbök összekapcsolására használja, amikor sztringekké konvertálják őket, amíg a változó vissza nem áll $null
. Mivel a használatnak $OFS
máshol is lehetnek szándékolt hatásai a kódban, célszerű inkább az Elválasztó paramétert használni.
Típus: | String |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-SingleQuote
Az egyes folyamatobjektumok sztringértékét egyetlen idézőjelbe csomagolja.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-UseCulture
Az aktuális kultúra listaelválasztót használja elválasztó elemként. Egy kultúra listaelválasztójának megkereséséhez használja a következő parancsot: (Get-Culture).TextInfo.ListSeparator
.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |