2017-05-26 17 views
2

我有以下代碼:寫作PowerShell的C#代碼中直接命令

 PowerShell ps = PowerShell.Create(); 

     // Call the PowerShell.AddCommand(string) method, add 
     // the Get-Process cmdlet to the pipeline. Do 
     // not include spaces before or after the cmdlet name 
     // because that will cause the command to fail. 
     ps.AddCommand("mkdir"); 
     ps.AddArgument("C:\\Users\\me\\Desktop\\test"); 

不幸的是,當我運行這段代碼,不創建目錄。我想我誤解了這是如何工作的,但理想情況下,我希望我的最終應用程序能夠運行PowerShell命令,然後直接在我的應用程序中獲取輸出。

我做錯了從我的代碼執行一個簡單的powershell命令?

+1

add'ps.Invoke()' –

回答

3

您的powershell命令缺少ps.Invoke()命令。只需在命令構建完成後添加它即可。這裏是關於如何執行powershell命令的文章MSDN

+0

完美。說我有一個腳本,我已經執行,即(python test.py),並在測試文件中打印「hello world」。我怎樣才能讀取執行該腳本的輸出? – ryan

+0

@ryan看看這篇文章有一個例子,它執行PowerShell並取得結果打印到控制檯 –

+0

非常感謝,這工作得很好! – ryan