有时我无法删除文件夹,因为它包含thumbs.db。我有很多文件夹(也包含图像),我需要在不同的地方移动它们并删除原始文件夹。但我收到此错误:无法删除该文件夹,因为另一个进程正在使用“thumbs.db”。移动和删除是在c#中进行的,现在它会跳过删除具有thumbs.db的文件夹,这会导致很多空文件夹。有没有办法删除该文件夹,即使它有该文件?
答案 0 :(得分:4)
我提交我的评论作为答案,因为它以这种方式更具可读性:
您可以关闭这些文件的创建: 在注册表编辑器中转到 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer 并将 NoThumbnailCache 条目的值设置为1.
如果您没有此条目,只需创建它(DWORD 32)。
对于Win 7旗舰版/专业版: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced
DisableThumbnailCache (也是DWORD)
要删除所有现有文件,请创建包含以下内容的批处理文件:
cd c:\
del /s /q thumbs.db
以管理员
运行答案 1 :(得分:2)
您应该做的第一件事是找出哪个进程持有锁。您可以使用Unlocker找到它。
您可以将文件标记为删除。它们将在下次启动时被删除。使用PInvoke并调用MoveFileEx
将null作为目标。
您可以将其用于文件夹和文件。将文件夹标记为删除就足够了。
此链接包含一些示例代码:
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern bool MoveFileEx(string lpExistingFileName, string lpNewFileName, int dwFlags);
public const int MOVEFILE_DELAY_UNTIL_REBOOT = 0x4;
MoveFileEx(filename, null, MOVEFILE_DELAY_UNTIL_REBOOT);
答案 2 :(得分:0)
就我而言,最简单的解决方案有所帮助,但是我知道它并不能每次都提供帮助。
- 关闭文件资源管理器(这应该解锁文件)
- 再次打开并尝试删除文件夹。
答案 3 :(得分:0)
在“控制面板” /“文件资源管理器选项” /视图中
在文件浏览器菜单中的视图集标题。
现在对我来说,我可以从网络驱动器中删除Thumbs.db,例如 Z:\ path \ Thumbs.db