【问题标题】:How to pass command line arguments to batch file from c#如何从 C# 将命令行参数传递给批处理文件
【发布时间】:2012-06-02 05:04:05
【问题描述】:

我想从 c#.net 代码执行一个批处理文件。 批处理文件可能需要未知数量的命令行参数。 我想从 c# 代码中传递这些参数。

如何通过c#实现?

编辑: 我写了以下代码

    ProcessStartInfo psi = new ProcessStartInfo(filePath);
    psi.WindowStyle = ProcessWindowStyle.Hidden;
    psi.CreateNoWindow = true;
    psi.Arguments = "some value";
    Process proc = new Process();
    proc.StartInfo = psi;
    proc.Start();            

【问题讨论】:

  • 这可以在互联网上找到。 “c# 批处理文件参数”的 485,000 个结果。
  • 你的代码有什么问题?
  • @YoryeNathan; StackOverflow 的目的是提出编程问题。如果您认为您的评论合适,请阅读常见问题解答
  • @AMissico 你不同意在发布关于某事的问题之前至少应该花几分钟时间进行研究吗?如果有人发布了一个问题 How to exit a loop in the middle?,你会如何反应 - 这是一个自动的“哦,来吧!”
  • @YoryeNathan;我的反应是,“什么样的循环?”

标签: .net process batch-file processstartinfo


【解决方案1】:

查看http://www.dotnetperls.com/process-start-vbnet 以获得很好的介绍。具体请参见底部的“运行可执行文件”示例。

如果您需要更多示例,这是我使用的搜索查询 http://www.bing.com/search?q=command+line+parameters+process+start

【讨论】:

  • 我得到了答案。要传递我刚刚设置的多个参数,请使用以下代码行。 ProcessStartInfo psi = new ProcessStartInfo(filePath); psi.WindowStyle = ProcessWindowStyle.Hidden; psi.Arguments = "value1" + "value2" + "value3";
  • @sagar 每个参数之间需要空格。您可以使用string.Join(" ", values) 轻松加入具有一定分隔符的数据集合。但是,在您在上一条评论中提供的示例中,您可以简单地执行 psi.Arguments = "value1 value2 value3;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 2010-09-06
  • 1970-01-01
  • 2013-08-30
相关资源
最近更新 更多