想知道在C#中使用某种批量进行高级搜索后是否可以删除某些文件。 我相信我可以这样做:
listbox
,dataGridView
或checkedlistbox
中(对于某些删除或全部删除)我的问题/兴趣点是:
a)是在搜索数据库字段时搜索更优化的文件(在搜索目录中的文件然后存储在数据库中之后),还是通过再次迭代/循环遍历目录? (首先想一想)在DB表中存储路径会有什么问题吗?
b)在3.我不知道如何存储长路径..但我会弄清楚...有人可以告诉我长路径存储是否存在一些问题?
c)我如何描绘删除过程?
d)任何人都知道脚本,所以我可以删除* .txt文件吗?
e)在4.将下一个代码足以以编程方式对它们进行del:“
string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
foreach (string filePath in filePaths)
File.Delete(filePath);
其中路径来自DB ..
答案 0 :(得分:1)
看起来你不需要数据库。执行搜索后,您已经知道要删除的文件名,这就是您所需要的。
不存在使用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。