PowerShell Cmdlet - ConvertTo-CSV
 記事記号:[mf1923] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    ConvertTo-CSV
    
概要
    Microsoft .NET Framework オブジェクトを一連のコンマ区切りの可変長値 (CSV) 文
    字列に変換します。
    
構文
    ConvertTo-CSV [[-Delimiter] <char>] [-InputObject] <psobject> [-NoTypeInform
    ation] [<CommonParameters>]
    
    ConvertTo-CSV [-UseCulture] [-InputObject] <psobject> [-NoTypeInformation] [
    <CommonParameters>]
    
    
説明
    ConvertTo-CSV コマンドレットは、送信するオブジェクトを表す一連のコンマ区切り
    の可変長 (CSV) 文字列を返します。その後、ConvertFrom-CSV コマンドレットを使
    用して CSV 文字列からオブジェクトを再作成できます。再作成されたオブジェクト
    は元のオブジェクトの CSV バージョンで、プロパティの値を表す文字列で構成され、
    メソッドはありません。
    
    また、Export-CSV コマンドレットと Import-CSV コマンドレットを使用して、.NET 
    Framework オブジェクトを CSV 文字列に (またはその逆に) 変換できます。Export-
    CSV は、CSV 文字列をファイルに保存する点を除いて、ConvertTo-CSV と同じです。
    
    ConvertTo-CSV コマンドレットのパラメーターを使用すると、コンマ以外の区切り文
    字を指定するか、現在のカルチャの既定の区切り文字を ConvertTo-CSV に使用させ
    ることができます。
    
    詳細については、「Export-CSV」とその「注」セクションを参照してください。
    
パラメーター
    -Delimiter <char>
        プロパティ値を区切る区切り文字を指定します。既定値はコンマ (,) です。コ
        ロン (:) などの文字を入力します。
        
        セミコロン (;) を指定するには、それを引用符で囲みます。そうしない場合、
        コマンドの区切り文字として解釈されます。
        
        必須                         false
        位置                         2
        既定値                       , (コンマ)
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -InputObject <psobject>
        CSV 文字列としてエクスポートするオブジェクトを指定します。オブジェクトが
        格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を
        入力します。パイプを使用してオブジェクトを ConvertTo-CSV に渡すこともで
        きます。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する false
        
    -NoTypeInformation [<SwitchParameter>]
        出力から型の情報ヘッダーを省略します。既定で、出力の文字列には、"#TYPE" 
        に続いて .NET Framework オブジェクトの型の完全修飾名が含まれます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -UseCulture [<SwitchParameter>]
        現在のカルチャのリスト セパレーターをデータの区切り文字として使用します。
        既定値はコンマ (,) です。
        
        このパラメーターは、スクリプトを世界各地のユーザーに配布する場合に特に
        役立ちます。カルチャの区切り記号を検索するには、(Get-Culture).TextInfo.
        ListSeparator コマンドを使用します。
        
        必須                         false
        位置                         named
        既定値                       コンマ
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Management.Automation.PSObject
        パイプを使用してどの .NET Framework オブジェクトでも ConvertTo-CSV に渡
        すことができます。
    
出力
    System.String
        CSV 出力は、文字列のコレクションとして返されます。
    
メモ
        CSV 形式では、プロパティ値をコンマで区切った一覧で各オブジェクトが表記さ
        れます。プロパティ値は (オブジェクトの ToString() メソッドを使用して) 文
        字列に変換されるため、通常はプロパティ値の名前で表されます。ConvertTo-CS
        V はオブジェクトのメソッドをエクスポートしません。
        
        結果の CSV 文字列の形式は次のとおりです。
        
        -- 最初の文字列は、#TYPE System.Diagnostics.Process のように、'#TYPE ' 
           に続いてオブジェクトの .NET Framework 型の完全修飾名で構成されます。
           この文字列を非表示にするには、NoTypeInformation パラメーターを使用し
           ます。
        
        -- 次の文字列は、列ヘッダーを表しています。ここには、最初のオブジェクト
           のすべてのプロパティ名のコンマ区切り一覧が含まれます。
        
        -- 残りの文字列は、各オブジェクトのプロパティ値をコンマで区切った一覧で
           構成されます。
        
        複数のオブジェクトを ConvertTo-CSV に送信すると、ConvertTo-CSV は、送信
        した最初のオブジェクトのプロパティに基づいて文字列を順番に並べます。指定
        したプロパティが残りのオブジェクトにない場合、そのオブジェクトのプロパテ
        ィ値は null で、コンマを 2 個並べて表記します。残りのオブジェクトに追加
        プロパティがある場合、それらのプロパティ値は無視されます。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>get-process powershell | convertto-csv
    
    #TYPE System.Diagnostics.Process
    "__NounName","Name","Handles","VM","WS","PM","NPM","Path","Company","CPU","F
    ileVersion","ProductVersion","Description","Product","BasePriority","ExitCod
    e","HasExited","ExitTime","Handle","HandleCount","Id","MachineName","MainWin
    dowHandle","MainWindowTitle","MainModule","MaxWorkingSet","MinWorkingSet","M
    odules","NonpagedSystemMemorySize","NonpagedSystemMemorySize64","PagedMemory
    Size","PagedMemorySize64","PagedSystemMemorySize","PagedSystemMemorySize64",
    "PeakPagedMemorySize","PeakPagedMemorySize64","PeakWorkingSet","PeakWorkingS
    et64","PeakVirtualMemorySize","PeakVirtualMemorySize64","PriorityBoostEnable
    d","PriorityClass","PrivateMemorySize","PrivateMemorySize64","PrivilegedProc
    essorTime","ProcessName","ProcessorAffinity","Responding","SessionId","Start
    Info","StartTime","SynchronizingObject","Threads","TotalProcessorTime","User
    ProcessorTime","VirtualMemorySize","VirtualMemorySize64","EnableRaisingEvent
    s","StandardInput","StandardOutput","StandardError","WorkingSet","WorkingSet
    64","Site","Container""Process","powershell","216","597544960","60399616","6
    3197184","21692","C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe"
    ,"Microsoft Corporation","3.4788223","6.1.6587.1 (fbl_srv_powershell(nigels)
    .070711-0102)","6.1.6587.1","Windows PowerShell","MicrosoftR WindowsR Operat
    ing System","8",,"False",,"860","216","5132",".","5636936","Windows PowerShe
    ll 2.0 (04/17/2008 00:10:40)","System.Diagnostics.ProcessModule (powershell.
    exe)","1413120","204800","System.Diagnostics.ProcessModuleCollection","21692
    ","21692","63197184","63197184","320080","320080","63868928","63868928","607
    15008","60715008","598642688","598642688","True","Normal","63197184","631971
    84","00:00:00.2028013","powershell","15","True","1","System.Diagnostics.Proc
    essStartInfo","4/21/2008 3:49:19 PM",,"System.Diagnostics.ProcessThreadColle
    ction","00:00:03.5100225","00:00:03.3072212","597544960","597544960","False"
    ,,,,"60399616","60399616",,
    
    説明
    -----------
    このコマンドは、1 つのプロセス オブジェクトを CSV 形式に変換します。このコマ
    ンドは Get-Process コマンドレットを使用してローカル コンピューターの PowerSh
    ell プロセスを取得します。コマンドはパイプライン演算子 (|) により ConvertTo-
    CSV コマンドレットに渡され、コマンドが一連のコンマで区切られた文字列に変換さ
    れます。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>$date = get-date
    
    C:\PS> convertto-csv -inputobject $date -delimiter ";" -notypeinformation
    
    説明
    -----------
    この例では、日付オブジェクトを CSV 形式に変換します。
    
    最初のコマンドは、Get-Date コマンドレットを使用して現在の日付を取得します。
    日付は $date 変数に保存されます。
    
    2 番目のコマンドは、ConvertTo-CSV コマンドレットを使用して、$date 変数の Dat
    eTime オブジェクトを CSV 形式に変換します。このコマンドは、InputObject パラ
    メーターを使用して、変換するオブジェクトを指定します。また、Delimiter パラメ
    ーターを使用してオブジェクト プロパティを区切る区切り文字を指定します。さら
    に、NoTypeInformation パラメーターを使用して #TYPE 文字列を非表示にします。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-eventlog -log "windows powershell" | convertto-csv -useculture
    
    説明
    -----------
    このコマンドは、ローカル コンピューターの Windows PowerShell イベント ログを
    一連の CSV 文字列に変換します。
    
    このコマンドは、Get-EventLog コマンドレットを使用して Windows PowerShell ロ
    グのイベントを取得します。イベントはパイプライン演算子 (|) により ConvertTo-
    CSV コマンドレットに送られ、CSV 形式に変換されます。このコマンドは UseCultur
    e パラメーターを使用し、これによって現在のカルチャの区切り記号が区切り文字と
    して使用されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=135203
    Import-CSV 
    Export-CSV 
    ConvertFrom-CSV 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、ConvertTo-CSV
ご利用数: 1915800
感想・要望・問い合わせは こちら