Export-FormatData
현재 세션의 형식 지정 데이터를 형식 지정 파일에 저장합니다.
구문
Export-FormatData [-Force] [-IncludeScriptBlock] [-InputObject <ExtendedTypeDefinition[]>] [-NoClobber] [-Path <string>] [<CommonParameters>]
설명
Export-FormatData cmdlet은 현재 세션의 형식 지정 개체에서 Windows PowerShell 형식 지정 파일(format.ps1xml)을 만듭니다. 이 cmdlet은 Get-FormatData가 반환하는 ExtendedTypeDefinition 개체를 XML 형식의 파일에 저장합니다.
Windows PowerShell은 형식 지정 파일(format.ps1xml)의 데이터를 사용하여 세션에 있는 Microsoft .NET Framework 개체의 기본 표시를 생성합니다. 사용자는 형식 지정 파일을 보고 편집할 수 있으며 Update-FormatData cmdlet을 사용하여 세션에 형식 지정 데이터를 추가할 수 있습니다.
Windows PowerShell의 형식 지정 파일에 대한 자세한 내용은 about_Format.ps1xml을 참조하십시오.
매개 변수
-Force
파일에 읽기 전용 특성이 있는 경우에도 기존 출력 파일을 덮어씁니다.
필수 여부 |
false |
위치 |
named |
기본값 |
False |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-IncludeScriptBlock
형식 데이터의 스크립트 블록을 내보낼지 여부를 결정합니다.
스크립트 블록에는 코드가 포함되어 있어 악의적으로 사용될 수 있으므로 기본적으로 내보내지 않습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
False |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-InputObject <ExtendedTypeDefinition[]>
내보낼 형식 데이터 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령(예: Get-FormatData 명령)을 입력합니다. Get-FormatData의 개체를 Export-FormatData로 파이프할 수도 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-NoClobber
cmdlet이 기존 파일을 덮어쓰지 못하도록 지정합니다. 기본적으로 Export-FormatData는 파일에 읽기 전용 특성이 없는 한 경고 없이 파일을 덮어씁니다.
Export-FormatData가 읽기 전용 파일을 덮어쓰도록 하려면 Force 매개 변수를 사용하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Path <string>
출력 파일의 위치를 지정합니다. 파일 이름 확장명이 format.ps1xml인 파일 이름과 경로(선택 사항)를 입력합니다. 경로를 생략할 경우 Export-FormatData는 현재 디렉터리에 파일을 만듭니다.
.ps1xml 이외의 파일 이름 확장명을 사용할 경우 Update-FormatData cmdlet은 파일을 인식할 수 없습니다.
기존 파일을 지정하는 경우 Export-FormatData는 파일에 읽기 전용 특성이 없는 한 경고 없이 파일을 덮어씁니다. 읽기 전용 파일을 덮어쓰려면 Force 매개 변수를 사용하고 파일을 덮어쓰지 않도록 하려면 NoClobber 매개 변수를 사용하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
없음 |
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.Management.Automation.ExtendedTypeDefinition Get-FormatData의 ExtendedTypeDefinition 개체를 Export-FormatData로 파이프할 수 있습니다. |
출력 |
없음 Export-FormatData는 어떠한 개체도 반환하지 않고 파일을 생성하여 지정된 경로에 저장합니다. |
참고
내보낸 형식 지정 파일을 포함하여 모든 형식 지정 파일을 사용하려면 세션에 대한 실행 정책에서 스크립트와 구성 파일의 실행을 허용해야 합니다. 자세한 내용은 about_Execution_Policies를 참조하십시오.
예 1
C:\PS>get-formatdata -typename * | export-formatdata -path allformat.ps1xml -IncludeScriptBlock
설명
-----------
이 명령은 세션의 모든 형식 데이터를 AllFormat.ps1xml 파일로 내보냅니다.
이 명령은 Get-FormatData cmdlet을 사용하여 세션의 형식 데이터를 가져옵니다. TypeName 매개 변수의 값이 *(모두)이면 cmdlet이 세션의 모든 데이터를 가져옵니다.
이 명령은 파이프라인 연산자(|)를 사용하여 Get-FormatData 명령의 형식 데이터를 Export-FormatData cmdlet으로 보냅니다. 그러면 이 cmdlet은 해당 형식 데이터를 AllFormat.ps1 파일로 내보냅니다.
Export-FormatData 명령은 IncludeScriptBlock 매개 변수를 사용하여 스크립트 블록을 파일의 형식 데이터에 포함합니다.
예 2
C:\PS>$f = get-formatdata -typename helpinfoshort
C:\PS> export-formatdata -inputObject $f -path c:\test\help.format.ps1xml -IncludeScriptBlock
설명
-----------
이들 명령은 HelpInfoShort 유형의 형식 데이터를 Help.format.ps1xml 파일로 내보냅니다.
첫 번째 명령은 Get-FormatData cmdlet을 사용하여 HelpInfoShort 유형의 형식 데이터를 가져온 다음 $f 변수에 저장합니다.
두 번째 명령은 Export-FormatData의 InputObject 매개 변수를 사용하여 $f 변수에 저장된 형식 데이터를 입력합니다. 또한 IncludeScriptBlock 매개 변수를 사용하여 스크립트 블록을 출력에 포함합니다.
예 3
C:\PS>get-formatdata -typename System.Diagnostics.Process | export-FormatData -path process.format.ps1xml
C:\PS> Update-FormatData -prependPath .\process.format.ps1xml
C:\PS> 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
설명
-----------
이 예에서는 Export-FormatData 명령에서 IncludeScriptBlock 매개 변수를 생략한 결과를 보여 줍니다.
첫 번째 명령은 Get-FormatData cmdlet을 사용하여 Get-Process cmdlet이 반환하는 System.Diagnostics.Process 개체의 형식 데이터를 가져온 다음 파이프라인 연산자(|)를 사용하여 형식 지정 데이터를 Export-FormatData cmdlet으로 보냅니다. 그러면 이 cmdlet은 해당 형식 지정 데이터를 현재 디렉터리에 있는 Process.format.ps1xml 파일로 내보냅니다.
이 경우 Export-FormatData 명령은 IncludeScriptBlock 매개 변수를 사용하지 않습니다.
두 번째 명령은 Update-FormatData cmdlet을 사용하여 Process.format.ps1xml 파일을 현재 세션에 추가합니다. 이 명령은 PrependPath 매개 변수를 사용하여 Process.format.ps1xml 파일에서 프로세스 개체에 대한 형식 지정 데이터가 프로세스 개체에 대한 표준 형식 지정 데이터 전에 있는지 확인합니다.
세 번째 명령은 이 변경 사항의 효과를 보여 줍니다. 이 명령은 Get-Process cmdlet을 사용하여 이름이 "P"로 시작하는 프로세스를 가져옵니다. 출력은 스크립트 블록을 사용하여 계산된 속성 값이 표시되지 않음을 보여 줍니다.