【发布时间】:2012-03-13 19:04:19
【问题描述】:
我正在尝试使用 System.Diagnostics.Process 对象通过 aspx 页面运行程序,例如“robocopy.exe”。
我的代码如下所示:
Process si = new Process();
si.StartInfo.UserName = "testuser";
si.StartInfo.Password = password;
si.StartInfo.FileName = "cmd.exe";
si.StartInfo.UseShellExecute = false;
si.StartInfo.Arguments = "c/ robocopy.exe";
si.Start();
string output = si.StandardOutput.ReadToEnd();
si.Close();
Label1.Text = output;
问题是cmd.exe进程启动正确,但是什么也没有发生。 roboxopy.exe的参数想必是没有传给cmd进程运行!关于我可能做错了什么的任何想法?
【问题讨论】:
-
为什么要运行 cmd.exe?为什么不直接运行 robocopy.exe?将 robocopy 的路径传递给您的 StartInfo.FileName 而不是 cmd.exe。
-
如果你想从
cmd调用这个可执行文件,你可能也应该写/c而不是c/。 -
你需要有一个专用服务器并配置它来运行一个exe文件或执行一个命令!
-
哈哈,我认为 Yuriy 是正确的,因为它应该是 /c 而不是 c/ !!!不过,我也会考虑 MAtt 的建议。谢谢大家!