C#将多个参数传递给BAT文件

时间:2011-05-12 06:05:36

标签: c# .net batch-file command-line-arguments process.start

我有这个BAT文件" iARP.BAT"

Content Begin
@ECHO OFF
npg -vv -f %1 -d %2
Content End

我试图将文件名(在循环中)作为第一个参数和设备名称(先前声明的变量)作为第二个参数传递。我试图这样做:

for (int i = 1; i < arpFiles.Count; i++) {

p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WorkingDirectory = Application.StartupPath;
p.StartInfo.FileName = Application.StartupPath + "\\iARP.bat";
String argument1 = Application.StartupPath + "\\" + arpFiles[0].Name;
p.StartInfo.Arguments = argument1 + deviceName;
p.StartInfo.Verb = "runas";
p.StartInfo.CreateNoWindow = true;
p.Start();
}

BTW arpFiles = List 但它没有执行任何人可以帮助我吗?

1 个答案:

答案 0 :(得分:5)

您需要在Arguments属性中指定所有内容:

p.StartInfo.Arguments = string.Format("{0} {1}", argument1, argument2);