1

非常に大きなデータ ファイルを Windows ネットワーク共有にエクスポートするアプリケーションがあります。処理の後半で、そのファイルを同じ共有の下の別のフォルダーに移動する必要がある可能性があります。通常、File.Move を使用して同じディレクトリ内のファイルの名前を変更するため、オーバーヘッドはほとんどありません。しかし、これを新しいディレクトリに行うとデータがコピーされるのではないかと心配しています。これは受け入れられません。Linux/Unix では、mv コマンドはフォルダー ノードを操作するだけなので、同じデバイス/ボリュームである限り高速です。しかし、Windowsの場合、多くの場合、ソースをコピーしてから削除すると思います。それは私が避けたいことです。

だから私の質問は、あるディレクトリから別の隣接するディレクトリにファイルを移動したいWindowsネットワーク共有上の.NET 4 File.Move()についてです。ファイルサイズに関係なくファイル構造操作?

4

1 に答える 1

1

基になる Windows API 呼び出しは、同じボリューム上の別のフォルダーに移動する場合、ファイルのディレクトリ エントリを移動するだけです (コピーしません)。これは、ローカル ボリュームだけでなく、ネットワーク ボリュームにも当てはまります。共有が何らかの形で複数のボリュームにまたがっていない場合は、問題ありません。試してみてください。

于 2012-10-31T12:45:12.107 に答える