遍历存储在列表中的路径,然后删除它们
本文关键字:然后 删除 路径 存储 列表 遍历 | 更新日期: 2023-09-27 18:16:50
想问在c#中使用某种批处理进行高级搜索后是否可以删除某些文件。我相信我能做到:
- 查找 文件
- 将文件存储在
listbox
,dataGridView
或checkedlistbox
中(用于某些删除或可能全部删除) - 之后将它们存储在一个列表<>中,或者一个文件*.txt 中
- 脚本删除它们,或者使用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。