如何删除Thumbs.db(它正在被另一个进程使用)

本文关键字:另一个 进程 db 何删除 删除 Thumbs | 更新日期: 2023-09-27 18:16:10

我有一个简单的控制台应用程序,我试图删除一个文件夹:

Directory.Delete(folder,true);

我得到了令人讨厌的拇指。db的例外

The process cannot access the file 'Thumbs.db' because it is being used by another process.

我无法更改注册表以避免缩略图在文件夹

中处理

我有哪些选项可以删除文件夹中的所有内容?

谢谢

如何删除Thumbs.db(它正在被另一个进程使用)

您可以使用Unlocker找出哪个进程正在阻塞它。如果你不能终止这个进程,你可以在下次启动后用MoveFileEx将这个文件或文件夹标记为删除。

[DllImport("kernel32.dll")]
public static extern bool MoveFileEx(string lpExistingFileName, string lpNewFileName, int dwFlags);
public const int MOVEFILE_DELAY_UNTIL_REBOOT = 0x4;
//Usage:
MoveFileEx(fileName, null, MOVEFILE_DELAY_UNTIL_REBOOT);


如果你想完全禁用"Thumbs.db"-Files的创建,你可以在注册表中将其关闭。打开注册表编辑器,选择"HKEY_CURRENT_USER'Software'Microsoft'Windows'CurrentVersion'Policies'Explorer",将"NoThumbnailCache"的值设置为"1"。如果这个条目不存在,您可以简单地创建它(DWORD 32)。

对于Win7 Professional/Ultimate,条目的路径是HKEY_CURRENT_USER'Software'Microsoft' Windows'CurrentVersion'Explorer'Advanced,它的名称是DisableThumbnailCache

要删除驻留在Windows 10网络驱动器上的Thumbs.db文件,我必须进入"用户配置/管理模板/Windows组件/文件资源管理器"下的"本地组策略编辑器"并启用"关闭隐藏Thumbs.db文件中的缩略图缓存"设置。然后进入任务管理器,重新启动Windows资源管理器

删除名为thumbs.db的文件是可能的,首先将文件重命名(例如为 x.b b)。重命名文件后,可以删除