如何通过c#将字符串传递给批处理文件以及批处理文件如何接受字符串参数?

时间:2013-04-01 13:10:27

标签: c# batch-file command-line-arguments

我在C#项目中的方案是用户将"c:\homedir\mydir"之类的路径传递给批处理文件,然后批处理文件应接受此路径并在指定路径创建目录。

我不知道如何通过c#将字符串传递给批处理文件,以及批处理文件如何接受字符串并处理它。

2 个答案:

答案 0 :(得分:2)

创建一个流程并通过StartInfo.Arguments属性传递您的参数。

Process proc = new Process();
proc.StartInfo.FileName = //path to your BAT file
proc.StartInfo.Arguments = String.Format("{0}", @"C:\homedir\mydir");
//set the rest of the process settings
proc.Start();

这将加载您的BAT文件并传递您添加的任何参数。您的BAT文件可以使用%1为第一个参数访问参数,%2用于第二个参数...

答案 1 :(得分:1)

由于您没有向我们提供任何信息,我只举一个这些主题的例子。

首先,您需要使用Process类include System.Diagnostics命名空间。

  

提供对本地和远程进程的访问,使您可以启动   并停止本地系统进程。

批处理文件的示例:

 Process p = new Process();
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.FileName = "yourbatchfile.bat";
 p.Start();

对于传递参数,您可以使用ProcessStartInfo.Arguments属性。

  

获取或设置启动时要使用的命令行参数集   申请。

相关问题