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


ConvertFrom-StringData

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

Syntax

Default (Alapértelmezett)

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

Description

A ConvertFrom-StringData parancsmag egy egy vagy több kulcs- és értékpárt tartalmazó sztringet konvertál kivonattáblává. 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.

A ConvertFrom-StringData parancsmag biztonságos parancsmagnak minősül, amely egy szkript vagy függvény DATA szakaszában használható. A DATA szakaszban való használat esetén a sztring tartalmának meg kell felelnie egy ADATszakasz 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 sztringadatokban a fordított perjeleket (\) a Regex.Unescape metódushasználatával tudja értelmezni a windowsos PowerShell-háttérjel (') helyett, amely általában egy sor végét jelezné egy szkriptben. Az itt található sztringben a háttér karakter nem működik. A konstans fordított perjelet úgy is megőrizheti az eredményekben, hogy egy korábbi fordított perjelet használ, például: \\. A lezáratlan fordított perjel karakterek, 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.

Példák

1. példa: Egyetlen idézőjeles szövegsor átalakítása hash táblává

PS C:\> $Here = @'
Msg1 = The string parameter is required.
Msg2 = Credentials are required for this command.
Msg3 = The specified variable does not exist.
'@
PS C:\> 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.

Ezek a parancsok kivonattáblává alakítják át a felhasználói üzenetek egy adott idézőjeles sztringjeit. Egy idézőjeles sztringben az értékek nem helyettesítik a változókat, és a kifejezések kiértékelése nem történik meg.

Az első parancs létrehoz egy here-sztringet, és menti a $Here változóba.

A második parancs a ConvertFrom-StringData parancsmaggal konvertálja a $Here változó here-sztringjét kivonattáblává.

2. példa: Dupla idézőjelű itt-sztring átalakítása kivonattáblává

PS C:\> $P = @"
ISE = Windows PowerShell Integrated Scripting Environment
"@
PS C:\> $P | Get-Member
TypeName: System.String

Name             MemberType            Definition
----             ----------            ----------
Clone            Method                System.Object Clone()

PS C:\> $Hash = ConvertFrom-StringData -StringData $P
PS C:\> $Hash | Get-Member
TypeName: System.Collections.Hashtable
Name              MemberType            Definition
----              ----------            ----------
Add               Method                System.Void Add(Object key, Object

Ezek a parancsok azt mutatják be, hogy ConvertFrom-StringData valójában kivonattáblává konvertál egy here-sztringet.

Az első parancs egy dupla idézőjeles itt-sztringet hoz létre, amely egy kulcs-érték párot tartalmaz, és menti a $P változóba.

A második parancs egy folyamatkezelő (|) használatával küldi el a $P változót a Get-Member parancsmagnak. Az eredmény azt mutatja, hogy $P egy sztring (System.String).

A harmadik parancs a ConvertFrom-StringData parancsmaggal konvertálja a $P itt található sztringjét kivonattáblává. A parancs az eredményt a $Hash változóban tárolja.

Az utolsó parancs egy folyamatkezelő (|) használatával küldi el a $Hash változót a Get-Member parancsmagnak. Az eredmény azt mutatja, hogy a $Hash változó tartalma kivonattábla (System.Collections.Hashtable).

3. példa: Itt található sztring átalakítása kivonattáblává

PS C:\> ConvertFrom-StringData -StringData @'
Name = Disks.ps1

# Category is optional.

Category = Storage
Cost = Free
'@
Name                           Value
----                           -----
Cost                           Free
Category                       Storage
Name                           Disks.ps1

Ez a parancs egyetlen idézőjeles itt-sztringet alakít át, amely több kulcs-érték párot tartalmaz kivonattáblává.

Ebben a parancsban a StringData paraméter értéke egy here-sztring, nem pedig egy here-sztringet tartalmazó változó. Bármelyik formátum érvényes.

Az itt-szöveg egy megjegyzést tartalmaz az egyik karakterláncról. A megjegyzések sztringekben érvényesek, feltéve, hogy a megjegyzés egy másik sorban van, mint egy kulcs/érték pár.

4. példa: Sztring konvertálása kivonattáblázattá

PS C:\> $A = ConvertFrom-StringData -StringData "Top = Red `n Bottom = Blue"
PS C:\> "Top = " + $A.Top
Top = Red PS C:\> "Bottom = " + $A.Bottom
Bottom = Blue

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

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

Az eredmény a bemenet kivonattáblája. A többi parancs megjeleníti a kimenetet.

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

PS C:\> $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.
'@
}
PS C:\> $TextMsgs.Text001
The $Notebook variable contains the name of the user's system notebook. PS C:\> $TextMsgs.Text002
The $MyNotebook variable contains the name of the user's private notebook.

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

Mivel a szöveg változóneveket tartalmaz, egyes idézőjelek között szerepelő karakterláncba kell kerülnie, hogy a változók szó szerint legyenek értelmezve, ne legyenek feldolgozva. A DATA szakaszban nem engedélyezettek a változók.

6. példa: Sztring átadása a pipeline operátorral

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

Ez a példa azt mutatja be, hogy egy folyamatkezelővel (|) sztringet küldhet ConvertFrom-StringData.

Az első parancs egy here-sztringet ment a $Here változóba. A második parancs egy folyamatkezelő (|) használatával küldi el a $Here változót ConvertFrom-StringData. A parancs menti az eredményt a $Hash változóba.

Az utolsó parancs megjeleníti a $Hash változó tartalmát.

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

PS C:\> 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.

Ez a példa azt mutatja be, hogy a feloldó karakterek használatával új sorokat hozhat létre, és karaktereket ad vissza ConvertFrom-StringData. Ebben a példában a \n feloldósorozat új sorokat hoz létre egy szövegblokkon belül (az eredményül kapott kivonattáblában szereplő érték), amely egy névhez vagy elemhez van társítva (a név az eredményül kapott kivonattáblában).

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

PS C:\> ConvertFrom-StringData "Message=Look in c:\\Windows\\System32"
Name                           Value
----                           -----
Message                        Look in c:\Windows\System32

Ez a példa bemutatja, hogyan használható a fordított perjeles feloldó karakter 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 kettős visszaperjel biztosítja, hogy a literális visszaperjelek megfelelően jelenjenek meg a hash tábla kimenetében.

Paraméterek

-StringData

A konvertálni kívánt sztringet adja meg. Ezt a paramétert használhatja, vagy sztringet csövezhet a ConvertFrom-StringData. A paraméter neve nem kötelező.

A paraméter értékének egy olyan sztringnek kell lennie, amely egy idézőjelek közé van zárva, egy kettős idézőjelek közé zárt sztringnek vagy egy vagy több kulcs/érték párt tartalmazó itt-sztringnek. Minden kulcs-érték párnak külön sorban kell lennie, vagy minden párnak új 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. A megjegyzések nem szerepelnek a kivonattáblában.

A here-string egy olyan többsorból álló sztring, amelyben az idézőjelek szó szerint értelmezendők. További információ: about_Quoting_Rules.

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:0
Kötelező:True
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

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

String

Egy kulcs/érték párot tartalmazó sztringet a ConvertFrom-StringData.

Kimenetek

Hashtable

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

Jegyzetek

  • A here-string egy olyan többsorból álló sztring, amelyben az idézőjelek szó szerint értelmezendők.

    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 elválaszthatja a szövegsztringeket a kódtól, például az erőforrásfájlokban, és formázhatja a szövegsztringeket a fordítóeszközökben való használatra.