2015-10-21 161 views
1

我嘗試從c#程序的參數文件啓動ps1。但在此之前,我試圖做得更小,並運行一個「ls」。但它不起作用,我認爲我的代碼是可以的。用C#命令行參數執行flie的PowerShell腳本

pipeline.Commands.Add("ls ."); //in future here path of .ps1 file + arguments 
Collection<PSObject> results; 
// Execute PowerShell script 
results = pipeline.Invoke(); 
//print it in a textbox 
AppendLine(results.ToString()); 

我使用像參考Execute PowerShell Script from C# with Commandline Arguments

錯誤是「System.Management.Automation.CommandNotFoundException: 'LS'。不是cmdlet,函數或bat文件

回答

0

你的表達ls .由一個命令的(或更確切地說,一個別名)ls一個參數變量.

,以構建表達將是正確的方法。:

Command lsCmd = new Command("ls"); 
lsCmd.Parameters.Add("Path","."); 
Pipeline.Commands.Add(lsCmd); 
+0

我會檢查一樣好的答案但這隻能解決部分我的問題,因爲在.ps1腳本中我有問題將它分開以捕獲命令和參數但是你給我一個好主意 – Pablo

+0

使用編輯器機智h語法高亮度(例如免費的PowerShell ISE),以瞭解腳本中不同標記的解釋方式。 –

相關問題