猿问

在C#中执行批处理文件

在C#中执行批处理文件

我试图在C#中执行一个批处理文件,但是我没有任何运气。

我在互联网上找到了很多这样做的例子,但这对我没有用。

public void ExecuteCommand(string command){
    int ExitCode;
    ProcessStartInfo ProcessInfo;
    Process Process;

    ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
    ProcessInfo.CreateNoWindow = true;
    ProcessInfo.UseShellExecute = false;

    Process = Process.Start(ProcessInfo);
    Process.WaitForExit();

    ExitCode = Process.ExitCode;
    Process.Close();

    MessageBox.Show("ExitCode: " + ExitCode.ToString(), "ExecuteCommand");}

命令字符串包含批处理文件的名称(存储在system32)以及它应该操作的一些文件。(例如:txtmanipulator file1.txt file2.txt file3.txt)。当我手动执行批处理文件时,它工作正常。

在执行代码时,它给了我一个**ExitCode: 1** (Catch all for general errors)

我做错什么了?


慕慕森
浏览 692回答 3
3回答

慕的地8271018

System.Diagnostics.Process.Start("c:\\batchfilename.bat");这个简单的行将执行批处理文件。
随时随地看视频慕课网APP
我要回答