Megosztás a következőn keresztül:


Join-String

A folyamat objektumait egyetlen sztringbe egyesíti.

Syntax

Default (Alapértelmezett)

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

A Join-String parancsmag egyetlen sztringbe illeszti vagy egyesíti a folyamatobjektumok szövegét.

Ha nincsenek megadva paraméterek, a folyamatobjektumok sztringgé alakulnak, és csatlakoznak az alapértelmezett elválasztó $OFS.

Megjegyzés:

Ha beállítja $OFS é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 $OFS használata máshol nem kívánt hatással lehet a kódban, a legjobb, ha inkább a Elválasztó paramétert használja.

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 Directory paraméter használatával lekéri a C:\ meghajtó összes könyvtárnevét. Az objektumokat le fogják küldeni a csővezetéken a Join-String-ba. A tulajdonság paraméter adja meg a címtárneveket. A DoubleQuote paraméter dupla idézőjelekkel burkolja a címtárneveket. A elválasztó paraméter vesszővel és szóközzel (, ) választja el a címtárneveket.

A Get-ChildItem objektumok a System.IO.DirectoryInfo , és Join-String átalakítja az objektumokat System.String.

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 (;) választja el 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 Directory paraméter használatával lekéri a C:\ meghajtó összes könyvtárnevét. Az objektumokat le fogják küldeni a csővezetéken a Join-String-ba.

A tulajdonság paraméterszkriptblokk automatikus változót ($_) használ az egyes objektumok Név tulajdonság részstringjé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. A 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 Name paramétert használja a se*kezdődő szolgáltatások megadásához. A csillag (*) bármely karakter helyettesítő karaktere.

A rendszer elküldi az objektumokat a folyamaton a Join-String, amely a Tulajdonság paramétert használja a szolgáltatásnevek megadásához. A Elválasztó paraméter három speciális karaktert határoz meg, amelyek a kocsivissza (`r), az új vonal (`n) és a tab (`t) karaktert jelölik. A OutputPrefix beszúr egy címkét Services: egy új sortal és fülkel 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ókért tekintse meg a következőket: 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.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

DoubleQuote
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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 zárójelek ({{ és }}) megduplázásával menekülhet meg tőlük.

További információ: String.Format metódus és Összetett formázás.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Format
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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.

Paramétertulajdonságok

Típus:

PSObject[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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).

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:operátor

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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).

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:OS

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Property

A szöveggé konvertálandó tulajdonság vagy tulajdonságkifejezés neve.

Paramétertulajdonságok

Típus:PSPropertyExpression
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:0
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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ó ($OFS) be van állítva, a rendszer ezt az értéket használja, kivéve, ha ez a paraméter meg van adva.

Megjegyzés:

Ha beállítja $OFS é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 $OFS használata máshol nem kívánt hatással lehet a kódban, a legjobb, ha inkább a Elválasztó paramétert használja.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:1
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SingleQuote

Az egyes folyamatobjektumok sztringértékét egyetlen idézőjelbe csomagolja.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

SingleQuote
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték: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.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

PSObject

Kimenetek

String