2011-07-15 7 views
2

以下の簡単なコードは、実際のシナリオを反映していない単なる例です。 私はそれを試して、それは動作しませんでした。プロセスを使用して "del data.txt"を実行する方法は?

クラスを使用するのではなく、Processを使用してdata.txtを削除します。 Processを使用してdel data.txtを実行する方法

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(); 
     } 
    } 
} 

答えて

3

"/ C"引数をプロセスに追加する必要があります。

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

@デルードを直接呼び出すことによってどういう意味ですか? – CodesInChaos

+2

@Oded 'del'は、実際のバイナリではなく、' cmd'の組み込みコマンドです。 –

1

明らかに、cmdはそのような引数を処理しないためです。あなたは引数に/ C(と多分引用符)を追加する必要があります:

p.StartInfo.Arguments = "/C \"del data.txt\""; 
関連する問題