File.Move / File.Copy は NIC を使用して、あるコンピューターから別のコンピューターにファイルを移動しますか? そうでない場合、NIC を使用してあるコンピューターから別のコンピューターにファイルを転送するように C# でプログラミングするにはどうすればよいでしょうか?
3 に答える
はい。たとえば、次のようなネットワーク共有で動作File.Move
しFile.Copy
ます。
File.Copy(@"C:\Filename.txt", @"\\hostname\c$\Filename.txt");
File.Copy(@"C:\Filename.txt", @"X:\Filename.txt"); // If the network share was mapped to X:\
これは、ユーザーが共有にアクセスできる場合、または以前に Windows エクスプローラーで別の資格情報を使用して共有にアクセスしたことがある場合に機能します。そうでない場合は、 が表示され、資格情報System.UnauthorizedAccessException
を提供する必要があります。
NIC がネットワーク インターフェイス カードを意味する場合、はい、それを使用して、あるコンピューターから別のコンピューターにファイルを移動しますが、オペレーティング システムを介して間接的にのみ使用します。
ファイル プロシージャは OS と対話し、必要に応じて NIC の使用を処理します。
Windows をネットワークに接続するには、Windows をセットアップする必要があります。
あなたがすることは次のようになります:
File.Copy(@"C:\foo.bar", @"\\nas\data\foo.bar");
ただし、ネットワーク ドライブをマップすると、次のようにもなります。
File.Copy(@"C:\foo.bar", @"n:\data\foo.bar");
それはすべてあなたの状況に依存します。
File.Move / File.Copy は、実際のハードウェア (NIC) よりもはるかに高い抽象化レベルで動作します。
(コピーするファイルのパスに応じて) オペレーティング システムが NIC、ローカル ディスク、USB 接続などを使用することを決定する可能性があります。
気にする必要はありません。ターゲットのパスが正しいことを確認する必要があります (ローカル ファイル パス、または UNC パスなど)。