17

質問ファイルから PowerShell ハッシュテーブルをロードしていますか? PSON形式のハッシュテーブルを含むファイルを変数にロードする方法を文書化していますが、ハッシュテーブルをPSON形式のファイルに保存するにはどうすればよいですか?

ハッシュ表:

@{            
 "name" = "report 0"            
 "parameters" = @(
    @{"name" = "parameter 0"; "default" = 1; "values"=1,2,3,4},
    @{"name" = "parameter 1"; "default" = 'A'; "values" = 'A','B','C'}
    )            
}
4

4 に答える 4

11

*-CliXmlコマンドレットを試してください。オブジェクトを保存するには:

@{            
 "name" = "report 0"            
 "parameters" = @(
    @{"name" = "parameter 0"; "default" = 1; "values"=1,2,3,4},
    @{"name" = "parameter 1"; "default" = 'A'; "values" = 'A','B','C'}
    )            
} | Export-Clixml -Path c:\hash.xml

読み返すには:

Import-Clixml c:\hash.xml
于 2013-02-28T16:00:49.903 に答える
3

1 つの方法は、ハッシュテーブルの定義をスクリプト ブロックに配置することです。

$hashtable = {
  @{            
    "name" = "report 0"            
    "parameters" = @(
        @{"name" = "parameter 0"; "default" = 1; "values"=1,2,3,4},
        @{"name" = "parameter 1"; "default" = 'A'; "values" = 'A','B','C'}
        )            
    }
}

$hashtable.tostring()

@{
"名前" = "レポート 0"
"パラメータ" = @( @{"名前" = "パラメータ 0"; "デフォルト" = 1; "値"=1,2,3,4}, @{"名前" = "パラメータ 1"; "デフォルト" = 'A'; "値" = 'A','B','C'} )
}

スクリプト内で、スクリプト ブロックを呼び出してハッシュテーブルをインスタンス化する必要があります。

$hash = .$hashtable
于 2013-02-28T16:18:29.510 に答える