ConvertFrom-StringData

Egy vagy több kulcs- és értékpárt tartalmazó sztringet kivonattáblává alakít át.

Syntax

ConvertFrom-StringData
                [-StringData] <String>
                [[-Delimiter] <Char>]
                [<CommonParameters>]

Description

A ConvertFrom-StringData parancsmag egy vagy több kulcs- és értékpárt tartalmazó sztringet kivonattáblává alakít át. Mivel minden kulcs-érték párnak külön sorban kell lennie, az itt szereplő sztringeket gyakran használják bemeneti formátumként. Alapértelmezés szerint a kulcsot egy egyenlőségjel (=) karakter választja el az értéktől.

A ConvertFrom-StringData parancsmag biztonságos parancsmagnak minősül, amely egy szkript vagy függvény DATA szakaszában használható. Adatszakaszban való használat esetén a sztring tartalmának meg kell felelnie egy DATA szakasz szabályainak. További információ: about_Data_Sections.

ConvertFrom-StringData támogatja a hagyományos gépi fordítási eszközök által engedélyezett escape karaktersorozatokat. Ez azt jelzi, hogy a parancsmag a Regex.Unescape metódussal értelmezi a fordított perjeleket (\) a sztringadatokban feloldókarakterekként ahelyett, hogy a PowerShell-háttérkarakterek (`) a szkriptben általában egy sor végét jeleznék. Az itt található sztringen belül a backtick karakter nem működik. A fordított perjelet úgy is megőrizheti az eredményekben, hogy egy korábbi fordított perjelet használ, például a következővel: \\. A kibontatlan fordított perjelkarakterek, például a fájlelérési utakban gyakran használt karakterek illegális feloldósorozatként jeleníthetők meg az eredményekben.

A PowerShell 7 hozzáadja az elválasztó paramétert .

Példák

1. példa: Egy idézőjeles itt-sztring átalakítása kivonattáblává

Ez a példa a felhasználói üzenetek egyetlen idézőjeles karakterláncát kivonattáblává alakítja. Egy idézőjeles sztringben az értékek nem helyettesítik a változókat, és a kifejezések nem lesznek kiértékelve. A ConvertFrom-StringData parancsmag kivonattáblává alakítja a $Here változó értékét.

$Here = @'
Msg1 = The string parameter is required.
Msg2 = Credentials are required for this command.
Msg3 = The specified variable does not exist.
'@
ConvertFrom-StringData -StringData $Here

Name                           Value
----                           -----
Msg3                           The specified variable does not exist.
Msg2                           Credentials are required for this command.
Msg1                           The string parameter is required.

2. példa: Sztringadatok konvertálása másik elválasztó használatával

Ez a példa bemutatja, hogyan konvertálhatók olyan sztringadatok, amelyek egy másik karaktert használnak elválasztóként. Ebben a példában a sztringadatok a csőkaraktert (|) használják elválasztóként.

$StringData = @'
color|red
model|coupe
year|1965
condition|mint
'@
$carData = ConvertFrom-StringData -StringData $StringData -Delimiter '|'
$carData

Name                           Value
----                           -----
condition                      mint
model                          coupe
color                          red
year                           1965

3. példa: Megjegyzést tartalmazó here-sztring konvertálása

Ez a példa egy megjegyzést és több kulcs-érték párt tartalmazó here-sztringet konvertál kivonattáblává.

ConvertFrom-StringData -StringData @'
Name = Disks.ps1

# Category is optional.

Category = Storage
Cost = Free
'@

Name                           Value
----                           -----
Cost                           Free
Category                       Storage
Name                           Disks.ps1

A StringData paraméter értéke egy here-sztring, nem pedig egy here-sztringet tartalmazó változó. Bármelyik formátum érvényes. Az alábbi sztring megjegyzést tartalmaz az egyik sztringről. ConvertFrom-StringData figyelmen kívül hagyja az egysoros megjegyzéseket, de a # karakternek a sor első nem üres karakterének kell lennie. A sor összes karaktere # figyelmen kívül lesz hagyva.

4. példa: Sztring átalakítása kivonattáblázattá

Ez a példa egy normál dupla idézőjeles sztringet (nem itt szereplő sztringet) konvertál kivonattáblává, és menti azt a $A változóba.

$A = ConvertFrom-StringData -StringData "Top = Red `n Bottom = Blue"
$A

Name             Value
----             -----
Bottom           Blue
Top              Red

Annak a feltételnek való megfelelés érdekében, hogy minden kulcs-érték párnak külön sorban kell lennie, a sztring a PowerShell újvonalas karakterével (`n) választja el a párokat.

5. példa: ConvertFrom-StringData használata egy szkript DATA szakaszában

Ez a példa egy ConvertFrom-StringData szkript DATA szakaszában használt parancsot mutat be. A DATA szakasz alatti utasítások a felhasználó számára jelenítik meg a szöveget.

$TextMsgs = DATA {
ConvertFrom-StringData @'
Text001 = The $Notebook variable contains the name of the user's system notebook.
Text002 = The $MyNotebook variable contains the name of the user's private notebook.
'@
}
$TextMsgs

Name             Value
----             -----
Text001          The $Notebook variable contains the name of the user's system notebook.
Text002          The $MyNotebook variable contains the name of the user's private notebook.

Mivel a szöveg változóneveket tartalmaz, egy idézőjeles sztringbe kell zárni, hogy a változók szó szerint legyenek értelmezve, és ne legyenek kibontva. A DATA szakaszban nem engedélyezettek a változók.

6. példa: Sztring átadása a folyamatkezelővel

Ez a példa azt mutatja be, hogy egy folyamatoperátor (|) használatával sztringet küldhet a következőnek ConvertFrom-StringData: . A változó értéke a $Here következőre ConvertFrom-StringData van állítva, és az eredmény a $Hash változóban van.

$Here = @'
Msg1 = The string parameter is required.
Msg2 = Credentials are required for this command.
Msg3 = The specified variable does not exist.
'@
$Hash = $Here | ConvertFrom-StringData
$Hash

Name     Value
----     -----
Msg3     The specified variable does not exist.
Msg2     Credentials are required for this command.
Msg1     The string parameter is required.

7. példa: Feloldókarakterek használata új sorok hozzáadásához és karakterek visszaadásához

Ez a példa a feloldókarakterek használatát mutatja be új sorok létrehozásához és a forrásadatokban szereplő karakterek visszaadásához. A feloldósorozattal \n új sorokat hozhat létre egy szövegblokkon belül, amely az eredményül kapott kivonattáblában lévő névhez vagy elemhez van társítva.

ConvertFrom-StringData @"
Vincentio = Heaven doth with us as we with torches do,\nNot light them for themselves; for if our virtues\nDid not go forth of us, 'twere all alike\nAs if we had them not.
Angelo = Let there be some more test made of my metal,\nBefore so noble and so great a figure\nBe stamp'd upon it.
"@ | Format-List

Name  : Angelo
Value : Let there be some more test made of my metal,
        Before so noble and so great a figure
        Be stamp'd upon it.

Name  : Vincentio
Value : Heaven doth with us as we with torches do,
        Not light them for themselves; for if our virtues
        Did not go forth of us, 'twere all alike
        As if we had them not.

8. példa: Fordított perjel feloldó karakter használata a fájl elérési útjának helyes megjelenítéséhez

Ez a példa bemutatja, hogyan használható a fordított perjel feloldó karaktere a sztringadatokban, hogy a fájl elérési útja megfelelően jelenjen meg az eredményül kapott ConvertFrom-StringData kivonattáblában. A dupla fordított perjel biztosítja, hogy a literális fordított perjel karakterek megfelelően jelenjenek meg a kivonattábla kimenetében.

ConvertFrom-StringData "Message=Look in c:\\Windows\\System32"

Name                           Value
----                           -----
Message                        Look in c:\Windows\System32

Paraméterek

-Delimiter

A kulcsnak a konvertálandó sztringben lévő értékadatoktól való elválasztásához használt karakter. Az alapértelmezett elválasztó az egyenlőségjel (=) karakter. Ez a paraméter a PowerShell 7-ben lett hozzáadva.

Type:Char
Position:0
Default value:'='
Accept pipeline input:False
Accept wildcard characters:False

-StringData

Megadja az átalakítandó sztringet. Ezt a paramétert használhatja, vagy sztringet is beszúrhat a parancsba ConvertFrom-StringData. A paraméter neve nem kötelező.

A paraméter értékének egy olyan sztringnek kell lennie, amely egy vagy több kulcs-érték párot tartalmaz. Minden kulcs-érték párnak külön sorban kell lennie, vagy minden párnak új sor karakterekkel`n () kell elválasztania.

Megjegyzéseket is felvehet a sztringbe, de a megjegyzések nem lehetnek ugyanazon a sorban, mint egy kulcs-érték pár. ConvertFrom-StringData figyelmen kívül hagyja az egysoros megjegyzéseket. A # karakternek a sor első nem térköz karakterének kell lennie. A sor összes karaktere # figyelmen kívül lesz hagyva. A megjegyzések nem szerepelnek a kivonattáblában.

Az here-string egy egy vagy több sorból álló sztring. Az itt szereplő sztringen belüli idézőjeleket a rendszer szó szerint a sztringadatok részeként értelmezi. További információ: about_Quoting_Rules.

Type:String
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

Bevitelek

String

A kulcs-érték párokat tartalmazó sztringeket a parancsra ConvertFrom-StringDatais átirányíthatja.

Kimenetek

Hashtable

Ez a parancsmag egy kivonattáblát ad vissza, amelyet a kulcs-érték párokból hoz létre.

Jegyzetek

Az itt szereplő sztring egy vagy több sorból álló sztring, amelyben az idézőjelek szó szerinti értelmezése történik.

Ez a parancsmag olyan szkriptekben lehet hasznos, amelyek több beszélt nyelven jelenítik meg a felhasználói üzeneteket. A szótárstílusú kivonattáblákkal elkülönítheti a szöveges sztringeket a kódtól, például az erőforrásfájlokban, és formázhatja a szöveges sztringeket a fordítási eszközökben való használatra.