ค้นหาเว็บไซต์

ส่งออก-FormatData (Microsoft.PowerShell.Utility)


Export-FormatData

โมดูล :
Microsoft.PowerShell.Utility

บันทึกข้อมูลการจัดรูปแบบจากเซสชันปัจจุบันในไฟล์การจัดรูปแบบ

ไวยากรณ์

Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -Path <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]
Export-FormatData
      -InputObject <ExtendedTypeDefinition[]>
      -LiteralPath <String>
      [-Force]
      [-NoClobber]
      [-IncludeScriptBlock]
      [<CommonParameters>]

คำอธิบาย

Export-FormatData cmdlet สร้างไฟล์การจัดรูปแบบ PowerShell (format.ps1xml) จากวัตถุการจัดรูปแบบในเซสชันปัจจุบัน ใช้ออบเจ็กต์ ExtensedTypeDefinition ที่ Get-FormatData ส่งคืนและบันทึกเป็นไฟล์ในรูปแบบ XML

PowerShell ใช้ข้อมูลในการจัดรูปแบบไฟล์ (format.ps1xml) เพื่อสร้างการแสดงผลเริ่มต้นของออบเจ็กต์ Microsoft .NET Framework ในเซสชัน คุณสามารถดูและแก้ไขไฟล์การจัดรูปแบบ และใช้ Update-FormatData cmdlet เพื่อเพิ่มข้อมูลการจัดรูปแบบลงในเซสชัน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดรูปแบบไฟล์ใน PowerShell โปรดดูที่ about_Format.ps1xml

ตัวอย่าง

ตัวอย่างที่ 1: ส่งออกข้อมูลรูปแบบเซสชัน

Get-FormatData -TypeName "*" | Export-FormatData -Path "allformat.ps1xml" -IncludeScriptBlock

คำสั่งนี้จะส่งออกข้อมูลรูปแบบทั้งหมดในเซสชันไปยังไฟล์ AllFormat.ps1xml

คำสั่งใช้ Get-FormatData cmdlet เพื่อรับข้อมูลรูปแบบในเซสชัน ค่า * (ทั้งหมด) สำหรับพารามิเตอร์ TypeName กำหนดให้ cmdlet รับข้อมูลทั้งหมดในเซสชัน

คำสั่งใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งข้อมูลรูปแบบจากคำสั่ง Get-FormatData ไปยัง Export-FormatData cmdlet ซึ่งส่งออก จัดรูปแบบข้อมูลเป็นไฟล์ AllFormat.ps1

คำสั่ง Export-FormatData ใช้พารามิเตอร์ IncludeScriptBlock เพื่อรวมบล็อกสคริปต์ไว้ในข้อมูลรูปแบบในไฟล์

ตัวอย่างที่ 2: ส่งออกข้อมูลรูปแบบสำหรับประเภท

$F = Get-FormatData -TypeName "helpinfoshort"
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlock

คำสั่งเหล่านี้จะส่งออกข้อมูลรูปแบบสำหรับประเภท HelpInfoShort ไปยังไฟล์ Help.format.ps1xml

คำสั่งแรกใช้ Get-FormatData cmdlet เพื่อรับข้อมูลรูปแบบสำหรับประเภท HelpInfoShort และบันทึกไว้ในตัวแปร $F

คำสั่งที่สองใช้พารามิเตอร์ InputObject ของ Export-FormatData cmdlet เพื่อป้อนข้อมูลรูปแบบที่บันทึกไว้ในตัวแปร $F นอกจากนี้ยังใช้พารามิเตอร์ IncludeScriptBlock เพื่อรวมบล็อกสคริปต์ในเอาต์พุต

ตัวอย่างที่ 3: ส่งออกข้อมูลรูปแบบโดยไม่มีบล็อกสคริปต์

Get-FormatData -TypeName "System.Diagnostics.Process" | Export-FormatData -Path process.format.ps1xml
Update-FormatData -PrependPath ".\process.format.ps1xml"
Get-Process p*

Handles  NPM(K)  PM(K)  WS(K) VM(M)   CPU(s)    Id ProcessName
-------  ------  -----  ----- -----   ------    -- -----------
323                                       5600 powershell
336                                       3900 powershell_ise
138                                       4076 PresentationFontCache

ตัวอย่างนี้แสดงผลของการละเว้นพารามิเตอร์ IncludeScriptBlock จากคำสั่ง Export-FormatData

คำสั่งแรกใช้ Get-FormatData cmdlet เพื่อรับข้อมูลรูปแบบสำหรับออบเจ็กต์ System.Diagnostics.Process ที่ Get-Process cmdlet ส่งคืน คำสั่งใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งข้อมูลการจัดรูปแบบไปยัง Export-FormatData cmdlet ซึ่งจะส่งออกไปยังไฟล์ Process.format.ps1xml ในไดเร็กทอรีปัจจุบัน .

ในกรณีนี้ คำสั่ง Export-FormatData ไม่ได้ใช้พารามิเตอร์ IncludeScriptBlock

คำสั่งที่สองใช้ Update-FormatData cmdlet เพื่อเพิ่มไฟล์ Process.format.ps1xml ลงในเซสชันปัจจุบัน คำสั่งใช้พารามิเตอร์ PrependPath เพื่อให้แน่ใจว่าข้อมูลการจัดรูปแบบสำหรับออบเจ็กต์กระบวนการในไฟล์ Process.format.ps1xml จะพบก่อนข้อมูลการจัดรูปแบบมาตรฐานสำหรับออบเจ็กต์กระบวนการ

คำสั่งที่สามแสดงผลของการเปลี่ยนแปลงนี้ คำสั่งใช้ cmdlet Get-Process เพื่อรับกระบวนการที่มีชื่อที่ขึ้นต้นด้วย P ผลลัพธ์จะแสดงค่าคุณสมบัติที่คำนวณโดยใช้บล็อกสคริปต์หายไปจากจอแสดงผล

พารามิเตอร์

-Force

บังคับให้คำสั่งทำงานโดยไม่ต้องขอการยืนยันจากผู้ใช้

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-IncludeScriptBlock

ระบุว่าบล็อกสคริปต์ในข้อมูลรูปแบบถูกส่งออกหรือไม่

เนื่องจากบล็อกสคริปต์มีโค้ดและสามารถนำไปใช้ในทางที่ผิดได้ จึงไม่ถูกส่งออกตามค่าเริ่มต้น

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-InputObject

ระบุวัตถุข้อมูลรูปแบบที่จะส่งออก ป้อนตัวแปรที่มีวัตถุหรือคำสั่งที่ได้รับวัตถุ เช่น คำสั่ง Get-FormatData คุณยังสามารถไพพ์ออบเจ็กต์จาก Get-FormatData ไปยัง Export-FormatData

พิมพ์ :

ExtendedTypeDefinition[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-LiteralPath

ระบุตำแหน่งสำหรับไฟล์เอาต์พุต ต่างจากพารามิเตอร์ Path ค่าของ LiteralPath จะถูกใช้ตรงตามที่พิมพ์ทุกประการ ไม่มีอักขระใดที่ถูกตีความว่าเป็นไวด์การ์ด หากเส้นทางมีอักขระเลี่ยง ให้ใส่เครื่องหมายคำพูดเดี่ยว เครื่องหมายคำพูดเดี่ยวบอกให้ PowerShell ไม่ต้องตีความอักขระใดๆ เป็นลำดับหลีก

พิมพ์ :

String

นามแฝง :

PSPath, LP

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-NoClobber

บ่งชี้ว่า cmdlet ไม่ได้เขียนทับไฟล์ที่มีอยู่ ตามค่าเริ่มต้น Export-FormatData จะเขียนทับไฟล์โดยไม่มีการเตือน เว้นแต่ไฟล์จะมีแอตทริบิวต์แบบอ่านอย่างเดียว

หากต้องการกำหนดให้ Export-FormatData เขียนทับไฟล์แบบอ่านอย่างเดียว ให้ใช้พารามิเตอร์ Force

พิมพ์ :

SwitchParameter

นามแฝง :

NoOverwrite

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Path

ระบุตำแหน่งสำหรับไฟล์เอาต์พุต ป้อนเส้นทาง (ไม่บังคับ) และชื่อไฟล์พร้อมนามสกุลไฟล์ format.ps1xml หากคุณละเว้นเส้นทาง Export-FormatData จะสร้างไฟล์ในไดเรกทอรีปัจจุบัน

หากคุณใช้นามสกุลไฟล์อื่นที่ไม่ใช่ .ps1xml Update-FormatData cmdlet จะไม่รู้จักไฟล์นั้น

หากคุณระบุไฟล์ที่มีอยู่ Export-FormatData จะเขียนทับไฟล์โดยไม่มีคำเตือน เว้นแต่ไฟล์จะมีแอตทริบิวต์แบบอ่านอย่างเดียว หากต้องการเขียนทับไฟล์แบบอ่านอย่างเดียว ให้ใช้พารามิเตอร์ Force เพื่อป้องกันไม่ให้ไฟล์ถูกเขียนทับ ให้ใช้พารามิเตอร์ NoClobber

พิมพ์ :

String

นามแฝง :

FilePath

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

อินพุต

ExtensedTypeDefinition

คุณสามารถไปป์วัตถุ ExtensedTypeDefinition จาก Get-FormatData ไปยัง cmdlet นี้

เอาท์พุต

ไม่มี

cmdlet นี้ส่งคืนไม่มีผลลัพธ์ มันสร้างไฟล์และบันทึกในเส้นทางที่ระบุ

หมายเหตุ

  • หากต้องการใช้ไฟล์การจัดรูปแบบใดๆ รวมถึงไฟล์การจัดรูปแบบที่ส่งออก นโยบายการดำเนินการสำหรับเซสชันจะต้องอนุญาตให้สคริปต์และไฟล์การกำหนดค่าทำงาน สำหรับข้อมูลเพิ่มเติม โปรดดู about_Execution_Policies

บทความที่เกี่ยวข้อง