windows-10 - 为什么在 windows 10 64 位上删除大约 5000 个非常小的文件(大约 100 字节)需要这么长时间
问题描述
当我注意到到处都有“desktop.ini”文件的副本时,我正在 Windows 资源管理器中寻找一个特定文件,我转到父文件夹并运行 Windows 搜索“desktop.ini”并找到大约 5000 个文件在不同的位置(子文件夹)同名,都在大约 100-200 字节的范围内,我选择了所有这些并删除了它们,为什么 Windows 需要大约 2.5 分钟才能删除所有这些文件?假设平均文件大小约为 150 字节,则要删除的数据量应约为 (150*5000) / 1024 kBytes,即约 732 kB。那么Windows如何能够立即删除更大尺寸的单个文件?
解决方案
删除函数是O(n),其中 n 等于项目数,而不是文件大小....
用英语讲:
您的文件没有“删除”....只是它的注册条目被删除。这主要取决于文件的数量,而不是字节的数量。
顺便说一句,这是恢复“已删除文件”的方法;通过恢复它的注册条目。
推荐阅读
- flutter - Flutter web - FirebaseCloud 集合查询和获取失败并出现 NoSuchMethodError:null 成员无效:'includeMetadataChanges'
- css - 如何在 CSS 中创建这种高级形状?
- reactjs - 按名称获取路由路径 React Router
- sql - 有没有办法在 MS Access SQL CREATE TABLE 语句中定义数据格式?
- r - 如何对 R 中的 split 函数生成的所有数据帧执行相同的操作
- html - 如何触发单击事件以从 Angular 的下拉列表中进行选择
- javascript - 如何测试 ErrorBoundary 的后备组件?
- android - 调试横幅是否会在 Android Studio 构建应用程序包时自动消失
- firebase - 使用 Firebase 托管 + 云运行。我应该在我的快递服务器上设置“compression()”吗?
- python - 如何使用 Python 检查字符串是否由单个重复数字组成