2011-07-15 22 views
2

以下簡單代碼僅僅是一個不反映我真實情況的例子。 我試過了,它沒有工作。如何使用Process執行「del data.txt」?

我想刪除data.txt使用Process而不是使用File類。

using System; 
using System.Diagnostics; 

namespace Tester 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Process p = new Process(); 
      p.StartInfo.FileName = "cmd"; 
      p.StartInfo.Arguments = "del data.txt"; 
      p.StartInfo.UseShellExecute=false; 
      p.EnableRaisingEvents = true; 
      p.Exited += (sender, e) => { Console.WriteLine("Finished"); }; 

      p.Start(); 
      p.WaitForExit(); 
     } 
    } 
} 

如何使用Process執行del data.txt

回答

3

您需要將「/ C」參數添加到進程。

p.StartInfo.Arguments = "/C del data.txt"; 
+2

@oded你是指直接調用'del'的意思嗎? – CodesInChaos

+2

@Oded'del'是'cmd'中的內置命令,不是真正的二進制。 –

1

顯然是因爲cmd沒有處理這樣的參數。你必須在參數中添加/ C(也可能是引號):

p.StartInfo.Arguments = "/C \"del data.txt\""; 
相關問題