System.Diagnostics.Process - Del Command

时间:2010-03-29 14:56:12

标签: c# .net cmd

我正在尝试使用System.Diagnostic.Process启动del命令。基本上我想删除文件名为* .bat

的C:\驱动器中的所有内容
System.Diagnostics.Process proc = new System.Diagnostics.Process();
string args = string.Empty;
args += "*.bat";

proc.StartInfo.FileName = "del";
proc.StartInfo.WorkingDirectory = "C:\\";
proc.StartInfo.Arguments = args.TrimEnd();
proc.Start();

但是,当运行代码时会抛出异常,“系统找不到指定的文件。”我知道该根文件夹中肯定有包含该文件扩展名的文件。

3 个答案:

答案 0 :(得分:7)

“del”不是可执行文件。它是由命令解释程序cmd.exe运行的命令。不要运行“del”,而是运行cmd.exe /c "del foo.txt"

答案 1 :(得分:2)

您无需启动del命令。您可以从C#中删除文件。

        var files = new DirectoryInfo("C:\\").GetFiles("*.bat");
        foreach (FileInfo fi in files)
        {
            fi.Delete();
        }

答案 2 :(得分:0)

del是一个控制台命令,而不是可以通过Process类启动的应用程序。您是否有理由这样做而不是使用System.IO命名空间中的托管类?