Cela a été examiné en profondeur par la BCL équipe, voir les entrées de blog
En substance, il n'y a aucun moyen de le faire à l'intérieur .Net code et le coller à la BCL. Trop de fonctions compter sur d'être en mesure d'accepter le nom de chemin d'accès (ce qui déclenche immédiatement l'utilisation de fonctions attend MAX_PATH être respectées).
Vous pouvez rassembler toutes les fonctions win32 qui prennent en charge le "\\?\" la syntaxe, avec ces vous seriez en mesure de mettre en œuvre une série de long chemin de connaissance de la fonctionnalité, mais ce serait lourd.
Étant donné qu'un grand nombre d'outils (y compris l'explorateur[1]) ne peut pas manipuler des noms de chemin d'accès, il est déconseillé de descendre cette route, sauf si vous êtes heureux que tous interaction avec le fichier résultant système passe au travers de votre bibliothèque (ou le nombre limité d'outils qui sont construits pour le manipuler comme robocopy)
En réponse à votre besoin spécifique, je voudrais étudier si l'utilisation de robocopy directement serait suffisant pour effectuer cette tâche.
[1] Vista a des moyens pour atténuer le problème avec un peu de fantaisie renommer sous le capot, mais c'est fragile, au mieux)