【发布时间】:2014-12-27 08:22:05
【问题描述】:
我正在尝试运行一个批处理文件,而该批处理文件又运行一个 .exe(在您询问之前,这是必要的)。我已经尝试了this question 的答案,但代码对我不起作用。我一直在使用 System.Diagnostics.Process.Start("bat/directory/batname.bat");
但它没有用;它似乎打开了文件,但在运行 .exe 之前退出了它
请帮忙!
编辑
我试过的代码如下:
1 - "System.Diagnostics.Process.Start("G:/Software/Games/Files/Minecraft/minecraft.bat/");"
2 -proc.StartInfo.FileName = target;proc.StartInfo.RedirectStandardError = true;proc.StartInfo.RedirectStandardOutput = true;proc.StartInfo.UseShellExecute = false;
'proc.Start();'
proc.WaitForExit(
(timeout <= 0)? int.MaxValue : timeout * NO_MILLISECONDS_IN_A_SECOND *NO_SECONDS_IN_A_MINUTE);
errorMessage = proc.StandardError.ReadToEnd();proc.WaitForExit();
outputMessage = proc.StandardOutput.ReadToEnd();proc.WaitForExit();
我知道它正在打开,因为出现了 cmd 并且我在其中看到了相应的代码。
【问题讨论】:
-
您甚至可以从 iis 管理中将批处理文件或 exe 添加到 cgi 脚本中
-
我不明白.. 抱歉我是菜鸟;我做 C# 才 6 个月 :)
-
请更具体。展示一个对您不起作用的完整、最小的代码示例,并确切地告诉我们它是如何“不起作用”的。你怎么知道它“打开了文件”?是否有任何迹象表明批次本身已被发现,更不用说执行了?
-
检查你的bat文件
path. -
您能否更具体地说明您尝试运行批处理时发生的情况?你有没有收到错误,有没有打开一个窗口(它有没有说什么)?你能把你的 Process.Start 行包装在一个 try 块中,捕获任何异常,并告诉我们它们是什么吗?
标签: c#