2012-05-10 10 views
1

レガシーデータを新しいシステムに移行する途中です。あるディレクトリ構造から別のディレクトリ構造に10000ファイルの領域に何かをコピーする必要があります。古いディレクトリ構造と新しいディレクトリ構造は、同じファイルサーバー上にあり、別の国のデータセンターのどこかにあります。ファイルをローカルにコピーするアプリケーションを実行する必要があります(リモートファイルサーバーではありません)。ソースとターゲットの両方が同じリモートファイルサーバーにある場合、File.Copyはリモートで処理されますか?

現在の実装では、一度に1つのファイルをメモリストリームに読み込みます。次に、別の場所に新しく作成されたファイルにメモリストリームを書き込みます。これは正常に動作しますが、ファイルサーバーからローカルマシンにすべてのファイルを転送してからファイルサーバーに戻すことは明らかです。

代わりにFile.Copy(src、trg)を使用すると、違いがあるかどうかを知りたいと思います。 Windowsは、プロセス内のワイヤを介して1バイトのfiledataを送信せずにファイルをリモートで(ファイルサーバー上で)コピーするプロセスを処理するのに十分なほど賢明でしょうか?

File.Copy(...)を使用してこれを行うことができない場合は、ファイルコピー操作を完全にリモートで処理するという私の目標に達する別の方法がありますか?

答えて

3

短い回答:いいえ、そうではありません。

リモートサーバーにログインできますか?あなたはそこで仕事を始めることができます...

+1

は長い答え "NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOはありません"? XD – RhysW

+0

長い答えは私が知らないうちに仮定することができるウィンドウの詳細に入ります; –

+0

リモートファイルサーバー上のソフトウェアは実行できません。 –

1

Windowsのバージョンによって異なります。サーバーが2K3以降の場合は、Powershell remotingを使用できます。

リモーティングが利用可能な場合は、PSを起動してenter-pssession ServerInADistantLandを実行します。通常のDOSまたはPowershellコマンドを使用してコピーを実行できます。

関連する問題