/ / File.Copy est-il géré à distance lorsque la source et la cible se trouvent sur le même serveur de fichiers distant? - c #, .net, windows, fichier-io

File.Copy est-il géré à distance lorsque la source et la cible se trouvent sur le même serveur de fichiers distant? - c #, .net, windows, fichier-io

Je suis en train de migrer des données existantes vers unnouveau système. Je dois copier quelque chose dans la zone de 10000 fichiers d'une structure de répertoires à une autre. L'ancienne et la nouvelle structure de répertoires se trouvent sur le même serveur de fichiers, quelque part dans un centre de données d'un autre pays. Je dois exécuter l'application qui s'occupe de copier les fichiers localement (pas sur le serveur de fichiers distant).

Ma mise en œuvre actuelle lit un fichier à la fois.temps dans un flux de mémoire. Puis écrit le flux de mémoire dans un fichier nouvellement créé à l’autre emplacement. Cela fonctionne bien, mais il est évident que je transfère chaque fichier du serveur de fichiers vers mon ordinateur local, puis de nouveau vers le serveur de fichiers.

J'aimerais savoir si cela ferait undifférence si j'ai utilisé File.Copy (src, trg) à la place. Windows serait-il assez intelligent pour gérer le processus de copie des fichiers à distance (sur le serveur de fichiers) sans envoyer un seul octet de données par voie filaire au cours du processus?

Si cela ne peut pas être fait avec File.Copy (...), y a-t-il un autre moyen d'atteindre mon objectif, qui est de gérer l'opération de copie de fichier entièrement à distance?

Réponses:

3 pour la réponse № 1

Réponse courte: Non, ce ne serait pas.

Pouvez-vous vous connecter au serveur distant? Ensuite, vous pouvez commencer le travail là-bas ...


1 pour la réponse № 2

Dépend de la version de Windows. Si le serveur est 2K3 ou supérieur, vous pourrez peut-être utiliser Powershell à distance.

Si la communication à distance est disponible, lancez PS et faites enter-pssession ServerInADistantLand - Vous pouvez alors utiliser les commandes DOS ou Powershell normales pour effectuer la copie.