如何删除目录中的另一个进程可能正在使用的图像文件(ex * .gif)?删除目录中的图像文件(可能会被其他进程使用)
1
A
回答
1
当另一个进程正在使用它时,您不能删除它。这来自Windows的低级文件处理。不过,您可以重新命名文件或将其设置为在下次启动时删除。
Process Explorer工具可以帮助您找到哪个进程正在使用该文件,并且实际上可以关闭句柄 - 给予正确/管理权限。所以可以使用API调用,但是强制关闭文件句柄可能会导致该过程出现不可预知的行为。
0
如果你不能删除它,你可能可以重命名它,但我不确定为什么一些锁定的文件可以重命名,而其他的则不能。
您还可以安排它在下次启动时使用MoveFileEx用空目的地和MOVEFILE_DELAY_UNTIL_REBOOT标志被删除:
http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx
http://www.pinvoke.net/default.aspx/kernel32/MoveFileEx.html
http://www.pinvoke.net/default.aspx/Enums/MoveFileFlags.html
0
如果使用My.Computer.FileSystem.DeleteFile,如果另一个程序正在使用该文件,则可以通知用户程序将该文件锁定。如果正在使用它不能被删除。
Try
My.Computer.FileSystem.DeleteFile("C:\Documents and Settings\anybody\Desktop\dummy.doc", _
FileIO.UIOption.AllDialogs, _
FileIO.RecycleOption.DeletePermanently, _
FileIO.UICancelOption.ThrowException)
Catch ex As System.IO.IOException
Console.WriteLine(ex.ToString())
End Try
相关问题
- 1. 删除文件强制即使它正在被其他进程
- 2. 如何删除其他进程使用的文件
- 3. 如何删除从其他目录复制的目录中的文件?
- 4. c#文件移动(文件已被其他进程使用)
- 5. 在应用程序文档目录中删除图像
- 6. 删除其他进程使用的文件并获取其信息
- 7. 从iPhone中的应用程序目录中删除图像
- 8. 由python复制的文件不能被其他进程访问
- 9. 无法删除文件夹,因为它正在被其他进程使用(我的应用程序)
- 10. 我可以使用代码从目录中删除文件,但不能删除它的inode文件?
- 11. Drupal不会允许我或其他用户删除图像
- 12. 仅在Linux中的文件未被其他进程使用时移动文件
- 13. 使用find来删除所有的子目录(及其文件)
- 14. Makefile文件试图从其他目录
- 15. 文件被删除后,fread可能吗?
- 16. 删除其他用户的文件
- 17. 删除XAML使用的图像文件
- 18. 从目录中删除图像,并从目录中删除它们的链接
- 19. 确定该文件没有被任何其他进程使用
- 20. GDB附加到可执行文件被删除的进程
- 21. 从蚂蚁filterset排除图像或其他二进制文件
- 22. 使用PHP在目录中排除其他目录和子目录中的文件
- 23. 功能不会删除Cookie(即使它可以在其他地方使用)
- 24. 我的删除功能不会删除目标文件
- 25. Realm从apk中删除其他文件
- 26. 在Java中压缩目录是否会影响使用相同文件的其他进程?
- 27. ResXResourceWriter删除资源文件中的其他条目
- 28. 启动进程不能删除文件
- 29. 提示的文件/目录中删除
- 30. 删除目录中的空文件夹