Comment supprimer des fichiers image (ex * .gif) qui pourraient être utilisés par un autre processus dans un répertoire?Suppression de fichiers image dans un répertoire (pouvant être utilisé par un autre processus)
Répondre
Vous ne pouvez pas le supprimer pendant qu'un autre processus l'utilise. Cela vient du traitement de bas niveau de Windows. Cependant, vous pouvez jouer avec renommer le fichier ou le configurer pour être supprimé au prochain démarrage.
Process Explorer outil peut vous aider à trouver quel processus utilise le fichier et il peut effectivement fermer le handle - donné des droits propres/administratifs. Cela est donc possible avec les appels d'API, mais une telle fermeture forcée du gestionnaire de fichiers peut entraîner un comportement imprévisible de ce processus.
Si vous ne pouvez pas le supprimer, vous pourrez peut-être le renommer, mais je ne sais pas pourquoi certains fichiers verrouillés peuvent être renommés alors que d'autres ne le peuvent pas.
Vous pouvez également programmer à supprimer au prochain démarrage en utilisant MoveFileEx avec une destination nulle et le drapeau 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
Si vous utilisez My.Computer.FileSystem.DeleteFile, vous pouvez informer l'utilisateur du programme verrouillé si un autre programme utilise le fichier. Il ne peut pas être supprimé s'il est utilisé.
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. image est utilisé par un autre processus
- 2. Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus
- 3. comment copier un fichier qui est utilisé par un autre processus en C#
- 4. Enregistrement de flux XML en C# dit qu'il est utilisé par un autre processus
- 5. Y a-t-il un objet WebClient pouvant être utilisé dans MonoTouch?
- 6. Comment créer un décorateur Python pouvant être utilisé avec ou sans paramètres?
- 7. Copier un fichier d'un répertoire à un autre par date
- 8. Comment déplacer par programme des fichiers dans un répertoire WebDAV
- 9. Mac OS X: Un processus peut-il être rendu dans la fenêtre d'un autre processus?
- 10. LINUX: Lien tous les fichiers d'un répertoire à un autre
- 11. Un fichier déjà utilisé peut-il être cloné dans VB.NET?
- 12. C# supprimer un répertoire comme un autre utilisateur
- 13. Alternative au contrôle RefEdit d'Excel pouvant être utilisé en dehors de VBA
- 14. Existe-t-il une implémentation Ajax gratuite d'un éditeur HTML pouvant être utilisé dans le navigateur?
- 15. Comment créer un fichier .ics de type iCal pouvant être téléchargé par d'autres utilisateurs?
- 16. Les fichiers de bytecode compilés (.pyc) peuvent-ils être générés dans un répertoire différent?
- 17. Suppression de fichiers sur un ordinateur distant
- 18. Vider par programme un grand fichier texte en cours d'utilisation par un autre processus
- 19. Ruby Suppression de sous-répertoires contenant uniquement un répertoire spécifique
- 20. Comment stocker des valeurs persistantes de fichiers dans un répertoire?
- 21. Comment obtenir rapidement si un répertoire a changé en utilisant C++ sans un fil ou un processus de surveillance?
- 22. .htaccess ne permet pas l'accès aux fichiers dans un répertoire
- 23. Pouvez-vous rendre une fenêtre Direct3D pour un processus dans un autre processus 'HWND?
- 24. Est-il possible de changer le modèle de processus utilisé par un projet d'équipe TFS?
- 25. Plusieurs listes pouvant être triées avec jquery
- 26. source tous les fichiers dans un répertoire de .bash_profile
- 27. Obtention du répertoire actuel dans un assembly utilisé par une application de service Web et un service Windows
- 28. Comment copier des fichiers dans un autre répertoire en utilisant MSBuild?
- 29. Recevoir un message d'un autre processus
- 30. Est-ce que zipper un répertoire en Java affectera d'autres processus utilisant les mêmes fichiers?