代码之家  ›  专栏  ›  技术社区  ›  wonea Ilya Smagin

system.diagnostics.process-del命令

  •  1
  • wonea Ilya Smagin  · 技术社区  · 14 年前

    我正在尝试使用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 回复  |  直到 11 年前
        1
  •  2
  •   Marek    14 年前

    您不需要启动del命令。您可以从c_中删除文件。

            var files = new DirectoryInfo("C:\\").GetFiles("*.bat");
            foreach (FileInfo fi in files)
            {
                fi.Delete();
            }
    
        2
  •  7
  •   Dave Markle    14 年前

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

        3
  •  0
  •   Adam Robinson    14 年前

    del 是控制台命令,而不是可以通过 Process 班级。有没有理由这样做而不是在 System.IO 命名空间?