【问题标题】:Execute PowerShell Script of flie from C# with Commandline Arguments使用命令行参数从 C# 执行苍蝇的 PowerShell 脚本
【发布时间】:2016-01-20 14:56:16
【问题描述】:

我尝试使用 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 文件。

【问题讨论】:

    标签: c# powershell command-line scripting arguments


    【解决方案1】:

    您的表达式 ls . 包含一个命令(或者更确切地说,一个别名)ls 一个参数自变量 .

    构造该表达式的正确方法是:

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

    【讨论】:

    • 我会检查好答案。但这只能部分解决我的问题。因为在 .ps1 脚本中,我遇到了拆分它以捕获命令和参数的问题。但你给了我一个好主意
    • 使用语法高亮的编辑器(例如免费的 PowerShell ISE)来了解脚本中不同标记的解释方式。
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多