使用c#在cmd中执行命令时的问题

本文关键字:命令 问题 执行 cmd 使用 | 更新日期: 2023-09-27 18:11:51

我从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。

使用c#在cmd中执行命令时的问题

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