我正在尝试在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");
}
Run Code Online (Sandbox Code Playgroud)
命令字符串包含批处理文件的名称(存储在其中system32)以及它应该操作的一些文件.(例如:) txtmanipulator file1.txt file2.txt file3.txt.当我手动执行批处理文件时,它可以正常工作.
执行代码时,它给了我一个 **ExitCode: 1** (Catch all for general errors)
我究竟做错了什么?
对于普通(比如Windows Forms)C#应用程序,要在成功构建后执行命令,我将在Project Properties中使用Build Events-> Post-build事件命令行.
我有一个网站项目我使用解决方案资源管理器的上下文菜单中的"发布..."命令"发布".
有没有办法在成功发布后运行命令,如果是这样,它是如何完成的?(例如,Post-Publish事件命令行字段)
Visual Studio 2008,ASP .Net网站项目,C#.