我正在尝试运行一个批处理文件,然后运行.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出现了,我看到了相应的代码。
答案 0 :(得分:0)
要考虑的事情。 (最初保持简单:))
确保*.bat
文件路径准确无误。只是为了确保你可以通过以下方式检查:
如果(File.Exists(yourBatchFilePath))
您可以测试一个简单的批处理文件,以查看您的代码是否正在运行。
echo "What ever!" >> whatever.txt
将文件另存为c:\myTest.bat
如果您的代码正确无误,whatever.txt
文件应该包含c:
文本。