En plus d'essayer l'opération et d'intercepter l'exception, existe-t-il une méthode pour déterminer si un fichier peut être déplacé ou copié?Déterminer si un fichier peut être déplacé ou copié
Répondre
Il n'y a aucun moyen de savoir si un déplacement ou une copie de fichier sera réussi ou non.
Mais vous pouvez vérifier un certain nombre de choses pour voir si elle échouera:
- Vérifier l'espace disque à l'emplacement de destination (vous avez besoin au moins la taille de votre fichier)
- Vérifier une Fichier existant à l'emplacement de destination
- Ouvrez un fichier en demandant l'accès en lecture sur le fichier source pour vous assurer que 1) vous avez les permissions, 2) qu'il n'est pas utilisé.
- Vous pouvez lire l'ensemble du fichier source pour vous assurer qu'il n'y a pas de verrous dans le fichier.
- Une astuce utilisée par Windows Explorer lors de la copie de fichiers (ou le déplacement sur des volumes) est d'abord créer un fichier vide, puis d'étendre le fichier à la taille maximale. Seulement après que le fichier est entièrement alloué, alors les écritures commencent à arriver dans le fichier.
- L'attribution d'un fichier à la taille des données que vous souhaitez copier vous indiquera également s'il existe une citation de système de fichiers en place qui a été atteinte.
- Si un fichier est en cours d'utilisation et que vous souhaitez aller aussi loin, vous pouvez utiliser la fonction Volume Shadow Copy (VSS).
Plus sur le verrouillage du fichier:
S'il vous plaît voir ma réponse ici pour plus d'informations sur file locking & permissions in linux.
S'il vous plaît voir ma réponse ici pour plus d'informations sur file locking & permissions in Windows.
En général, vérifiez si le fichier existe et que l'utilisateur actuel est autorisé à lire le fichier (ou à supprimer le fichier à déplacer) et dispose de l'autorisation appropriée pour le répertoire de destination. De même, pour la copie, vous devriez vérifier qu'il y a de l'espace disque disponible. Bien sûr, avant tout cela, assurez-vous que le fichier d'origine et le répertoire de destination existent.
Bien sûr, cela ne gurantee pas l'opération réussira. Beaucoup de choses peuvent arriver. Même les autorisations pour le fichier peuvent changer entre le moment où vous vérifiez et le moment où vous faites l'opération.
Si le fichier peut être lu, il peut être déplacé ou copié. Demandez-vous comment vous pouvez vérifier si le déménagement ou la copie va réussir?
- 1. Jquery SI peut-être?
- 2. Déterminer si un pathspec est un répertoire ou un fichier (ou quelque chose d'autre) via WMI?
- 3. Comment déterminer si un DIB est ascendant ou descendant?
- 4. Comment déterminer si un fichier existe dans un SPFolder SharePoint
- 5. le manifeste peut ne pas être valide ou le fichier n'a pas pu être ouvert
- 6. Comment déterminer si un fichier est chiffré avec EFS?
- 7. Un fichier déjà utilisé peut-il être cloné dans VB.NET?
- 8. AJAX innerHTML. Modifier les liens Peut-être un "ou" problème
- 9. Comment puis-je déterminer si un descripteur de fichier Perl est un handle de lecture ou d'écriture?
- 10. Grep (ou peut-être regex) vérifier le motif sur les lignes avant ou après un match
- 11. Comment détecter si une fenêtre peut être affichée?
- 12. Comment puis-je déterminer si un fichier est un fichier PDF?
- 13. Déterminer si l'utilisateur est connecté
- 14. Meilleur moyen de déterminer si le fichier * .doc est RTF avec Java ou ColdFusion
- 15. C# Comment déterminer si HTTPS
- 16. Comment déterminer si SqlConnection est inscrite dans un tx de System.Transactions ou non?
- 17. Portable SQL pour déterminer si une table existe ou non?
- 18. Comment savoir si une classe peut être sérialisée?
- 19. Comment déterminer si un téléphone Android peut capturer de la vidéo?
- 20. Déterminer si l'utilisateur actuel est un domaine ou un utilisateur local?
- 21. Déterminer si un WCH ServiceHost a des connexions actives
- 22. Déterminer si une valeur ou une expression concrète est passée?
- 23. Déterminer si un type est statique
- 24. Comment mon javascript peut-il déterminer s'il a été appelé par WScript ou un navigateur?
- 25. Comment puis-je demander à JavaScript de cacher un élément SEULEMENT SI il peut être trouvé?
- 26. Comment Entity Framework dit si une multiplicité de "un" ou "zéro ou un" devrait être utilisé sur une relation?
- 27. Comment déterminer si l'utilisateur a sélectionné un fichier pour le téléchargement de fichier?
- 28. Comment puis-je déterminer par programme si un fichier MP3 est CBR ou VBR? (De préférence en utilisant C#)
- 29. Comment déterminer si radioButton.Checked est défini par programmation ou par un clic de souris?
- 30. Peut-on écouter un scanner twain (Peut-être WIA)?
Certains systèmes de fichiers permettent un accès en lecture seule, auquel cas une copie est possible mais pas un déplacement. – Tom