2012-06-18 21 views
5

Ben bir konumu tarar ve xml dosyasına dosya ayrıntıları ekleyen aşağıdaki Powershell komut, Bildiğim kadarıyla bu bir nesne olmalıdır anladığım kadarıylatasarrufu C# xml ve yük olarak Powershell nesneyi almak

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 çerçevesinde, bir veri kümesi varsayarak? Ne yapmak istediğim, bu nesneyi bir C# uygulamasına yüklemek ve bir veri kümesi olarak kullanmaktır.

nasıl C# bir veri kümesi içine nesne doldurayım ki?

+0

kapatın Çağır Import-CliXml komutuyla PowerShell Pipeline nesne oluşturun -CliX ML, verileri topluyorsunuz. Yani, bunu seri hale getirdiğinizde, canlı bir nesne olmayacaktır. Nesnede bulunan tüm yöntemler kaybolacaktır. – ravikanth

cevap

5
  1. System.Management.Automation.dll derlemine başvuru ekleyin.
  2. bir PowerShell Runspace
  3. Açık Runspace
  4. oluştur
  5. Pipeline
  6. Dışa kullanarak Runspace

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