2012-06-18 38 views
5

我有以下PowerShell腳本,其掃描位置並把文件的詳細信息到一個XML文件,採取PowerShell的對象保存在C#中的XML和負載

Get-ChildItem -recurse c:\DATA | Select-Object * , @{Name="Kbytes";Expression={ "{0:N0}" -f ($_.Length/1Kb) }},@{Name="Age";Expression={ (((Get-Date) - $_.CreationTime).Days) }} | Export-Clixml c:\DATA\Final.xml 

據我瞭解,這應該是一個對象在.net框架中,假設一個數據集? 我想要做的是加載這個對象到一個C#應用程序,並將其用作數據集。

如何將對象加載到c#中的數據集?

+0

通過導出-CliX ML你正在對數據進行seriealizing。所以,當你反序列化這個,它不會是一個活的對象。對象上的所有可用方法都將丟失。 – ravikanth

回答

5
  1. 添加對System.Management.Automation.dll組件的引用。
  2. 創建一個PowerShell Runspace
  3. 打開Runspace
  4. 創建具有Import-CliXml命令的PowerShell Pipeline對象
  5. 調用Pipeline
  6. 關閉Runspace

    var rs = RunspaceFactory.CreateRunspace(); 
        rs.Open(); 
        var pl = rs.CreatePipeline(@"Import-CliXml c:\DATA\Final.xml;"); 
        var result = pl.Invoke(); 
        rs.Close(); 
    
相關問題