使用命令提示符删除下载文件夹中的特定文件

时间:2019-03-11 14:33:10

标签: c# cmd

我正在尝试使用以下代码从我的下载文件夹中删除特定文件-

      a
0   NaN
1   NaN
2   NaN
3   NaN
4   3.0
5   1.0
6   5.0
7   4.0
...

调试代码时-命令提示符窗口会闪烁,但会立即关闭(即使未指定要隐藏在代码中),所以我很努力地查看它是否甚至可以将CD插入到正确的目录。当前,也没有从下载文件夹中删除文件。这是测试自动化项目中“测试前”类的一部分。如果有人可以提出一些建议,为什么这可能行不通,那就太好了?

2 个答案:

答案 0 :(得分:1)

用于在cmd提示符下删除。试试这个

string file = "Secci*";          
Process process = new Process();
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.Start();
process.StandardInput.WriteLine("cd C://users/%username%/downloads");          
process.StandardInput.WriteLine(string.Format("del \"{0}\"", file)); 

如果您尝试使用System.IO,请尝试此操作。

using System.IO;

string file = "Secci*";  
//Because "SpecialFolder" doesn't have Downloads in it, this is my workaround. There may be better ones out there.
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
path = path.Replace("Documents", "Downloads"); 
string[] List = Directory.GetFiles(path, file);
foreach (string f in List)
{
   File.Delete(f);
}

答案 1 :(得分:0)

您可以通过列举目录来获取所有文件。 找到符合条件的文件后,就可以对其进行遍历并对其执行操作。

var dir = new DirectoryInfo("C://users/%username%/downloads");

foreach (var file in dir.EnumerateFiles("Secci*")) {
    file.Delete();
}

https://docs.microsoft.com/en-us/dotnet/api/system.io.directory.enumeratefiles?view=netframework-4.7.2