[英]List all files on all disks and all directories except the files in system directories in C# .Net
[英]Delete all files and directories except the ones in a list
我手頭有兩個任務
C:\\Temp
和 通過使用以下代碼,我得到了第一項工作,感謝Stack Overflow中的朋友。
var imgFiles = (from f in directory.GetFiles(fileType,SearchOption.AllDirectories)
orderby f.LastWriteTime descending
select f).Take(numberOfFilesToFetch).ToArray();
我需要第2點的幫助。一些示例C#代碼將非常有幫助。
如果您只需要刪除文件,我建議您只獲取要刪除的文件列表,因此可以使用“ 跳過”代替“ 獲取”
其他方式是通過Except調用再次調用GetFiles ,如果您在刪除過程中不需要忽略文件列表,則調用效率不高
var filesToBeDeleted = (from f in Directory.GetFiles(fileType,SearchOption.AllDirectories)
orderby f.LastWriteTime descending
select f).Skip(numberOfFilesToFetch).ToArray();
foreach (var file in filesToBeDeleted)
{
file.Delete();
}
string [] subdirectoryEntries = Directory.GetDirectories("c:\\temp");
foreach(string dir in subdirectoryEntries)
{
Directory.Delete(dir) ;
}
我建議您嘗試一下,趕上刪除操作
foreach (var file in directory.GetFiles().Except(imgFiles))
{
file.Delete();
}
var filesToBeDeleted = directory.GetFiles(fileType, SearchOption.AllDirectories)
.Except(imgFiles).ToArray();
for (int i = filesToBeDeleted.Length; i >= 0; i--)
filesToBeDeleted[i].Delete();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.