-3

我在 C# 应用程序的 cmd 中执行两个命令。

  1. 重命名文件

    string commandToExecute;
    commandToExecute = @"/c ren E:\filename filename.rar";
    Process.Start("cmd.exe", commandToExecute);
    
  2. 解压文件

    commandToExecute = @"/c unrar e E:\filename.rar";
    Process.Start("cmd.exe", commandToExecute);
    

代码的第一部分有效,但第二部分无效,尽管当我cmd手动编写命令时它正在工作。而且我注意到在 C# 中执行时,它会再次运行应用程序本身(如递归)。我不知道为什么。

注意:我使用的是 64 位 Windows 7。

4

1 回答 1

2

请记住 Process.Start 启动另一个进程。如果命令需要串行运行,则需要从 Process.Start 中获取一个 Process 对象并调用 WaitForExit 方法。

于 2013-05-01T11:17:21.023 回答