如何从C#表单应用程序运行.bat文件?

时间:2014-10-31 04:17:29

标签: c#

我正在尝试运行一个批处理文件,然后运行.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出现了,我看到了相应的代码。

1 个答案:

答案 0 :(得分:0)

要考虑的事情。 (最初保持简单:))

  1. 确保*.bat文件路径准确无误。只是为了确保你可以通过以下方式检查:

    如果(File.Exists(yourBatchFilePath))

  2. 您可以测试一个简单的批处理文件,以查看您的代码是否正在运行。 echo "What ever!" >> whatever.txt将文件另存为c:\myTest.bat 如果您的代码正确无误,whatever.txt文件应该包含c:文本。