2013-05-01 83 views
-3

我正在C#應用程序中執行cmd中的兩個命令。在使用C#執行cmd命令時出現的問題

  1. 重命名文件

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

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

代碼的第一部分工作,但第二部分沒有,雖然當我手動輸入cmd時,它正在工作。我注意到,在C#中執行時,它會再次運行應用程序(如遞歸)。我不知道爲什麼。

注:我使用的是64位Windows 7

+3

你沒有調用你的程序'unrar',是嗎? – RichieHindle 2013-05-01 10:56:04

+0

unrar不是我的程序。它提取.rar文件 – 2013-05-01 11:01:35

+0

不應該在第一部分'E:\ filename filename.rar'中的文件路徑使用雙引號,因爲它包含空格嗎? – Bridge 2013-05-01 11:04:31

回答

2

記住的Process.Start啓動另一個進程。如果這些命令需要連續運行,則需要從Process.Start中獲取一個Process對象並調用WaitForExit方法。