遍历存储在列表中的路径,然后删除它们

本文关键字:然后 删除 路径 存储 列表 遍历 | 更新日期: 2023-09-27 18:16:50

想问在c#中使用某种批处理进行高级搜索后是否可以删除某些文件。我相信我能做到:

  1. 查找
  2. 文件
  3. 将文件存储在listbox, dataGridViewcheckedlistbox中(用于某些删除或可能全部删除)
  4. 之后将它们存储在一个列表<>中,或者一个文件*.txt
  5. 脚本删除它们,或者使用c#(以编程方式删除它们)

我的问题/兴趣点是:

a)在搜索DB字段时(在目录中搜索文件然后存储在DB中),或者通过再次迭代/循环遍历目录时,是否搜索文件更优化?(想想第一个)在DB表中存储路径会有什么麻烦吗?

b)在3。我不知道如何存储长路径,但我会想办法的。谁能告诉我,如果有可能有一些问题与长路径存储?

c)我如何描绘删除过程?

d)有人知道脚本,所以我可以从*.txt文件中删除它们?

e)在4。下一段代码是否足以以编程方式删除它们":

string[] filePaths = Directory.GetFiles(@"c:'MyDir'");
foreach (string filePath in filePaths)
  File.Delete(filePath);

遍历存储在列表中的路径,然后删除它们

看起来不需要数据库。在完成搜索之后,您已经知道要删除的文件名,这就是您所需要的。

不用担心使用List<>或文本文件存储长路径。与短路径完全相同。

为什么你需要描绘删除过程?有什么特别的地方你不明白吗?删除过程基本上是一个API调用,它告诉文件系统它存储的文件不再存在。文件系统记录这个文件并释放空间/在任何后续请求中不显示这个文件。-这是我想象的。

可以,您可以根据列表<>或文本文件删除它们。

你给出的代码将删除c:'MyDir'中的所有文件,如果这是你想要的,那么这就足够了(假设应用程序具有正确的权限并且文件没有被其他进程锁定)。

这里有一些有用的参考资料,可以回答你进一步的问题:

如何删除文件:http://msdn.microsoft.com/en-us/library/system.io.file.delete.aspx

如何写入文本文件http://msdn.microsoft.com/en-us/library/vstudio/8bh11f1k.aspx

如何遍历数组http://msdn.microsoft.com/en-us/library/5ts69ce3%28v=vs.90%29.aspx

如何遍历集合http://msdn.microsoft.com/en-us/library/wzc4yayd%28v=vs.90%29.aspx

你可以从你的c#代码中删除文件,你不需要cmd.exe。