我正在尝试使用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();
但是,当运行代码时会抛出异常,“系统找不到指定的文件。”我知道该根文件夹中肯定有包含该文件扩展名的文件。
答案 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
命名空间中的托管类?