我尝试使用c#程序中的参数文件启动ps1。但在此之前,我试着做得更小,然后运行“ls”。但它不起作用,我认为我的代码没问题。
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 :(得分:0)
您的表达式ls .
由命令(或更确切地说,别名)ls
和参数参数.
构造该表达式的正确方法是:
Command lsCmd = new Command("ls");
lsCmd.Parameters.Add("Path",".");
Pipeline.Commands.Add(lsCmd);