2012-03-02 9 views
0

すでに私の私のFTPプロセス(単純かつ短い)に関する質問を投稿した後、ftpサーバのディレクトリをチェックしてファイルをマッチさせてダウンロードし、ファイル共有を使って同じことをしようとしています。ファイル共有からファイルをコピーする最も良い方法は?

Scenairoがこのように、私のdbは私のファイル名(例えばtext.exe)とその場所に基づいて(デトロイト)(デトロイト値://10.26.10.127/testfolder、ワシントンバリュー://10.26.10.127/testfolder)。

私はローカルドライブに(//10.26.10.127/testfolder)からtext.exeをコピーします。

ステップ1:ファイル共有 ステップ2からファイルリストを取得:のStringBuilder ステップ3でファイル名を格納するローカルの場所にファイル共有の場所からコピー:ファイル名 ステップ4に一致する条件(含有)を使用します。

どこから始めたらよいですか?

+1

質問は理解できませんが、[File.Copy](http://msdn.microsoft.com/en-us/library/system.io.file.copy)を探しているようです。 aspx)。 – Gabe

+0

サイズの範囲は何ですか?彼らは(あるいは彼らかもしれない)巨大な犯罪者ですか? – AnarchistGeek

+0

@ AnarchistGeek、うん、それらのうちのいくつかは450メガから17ギガビットのファイルです。 – Usher

答えて

0

これは、データから開始する1つの方法です。

System.Data.DataTable dt; //Fill your data into this datatable 

string destPath = "Drive:\\Your_destination_path"; 
string fullSrcPath = null; 

foreach(System.Data.DataRow dr in dt.Rows){ 
    fullSrcPath = dr["PathColName"].ToString() + "\\" + dr["fileColName"].ToString(); 
    if(System.IO.File.Exists(fullSrcPath)){ 
     System.IO.File.Copy(fullSrcPath,destPath+ "\\"+dr["fileColName"].ToString()); 
    } 
} 

これが役に立ちます。

+0

答えてくれてありがとう。私はシナリオについて少し説明するかもしれませんが、あなたが提供する答えが私のシナリオに合っていないかもしれません。たとえば、ファイル名の詳細をdbからwcfに渡しています。 "TestXYZ"私はあなたのSystem.IO.File.Copy(fullSrcPath、destPath + "\\" + dr ["fileColName"]。ToString());を使いました。 – Usher

+0

私の目的地の場所(//10.120.10.126)にファイル名を持つすべてのファイルをコピーするには、TestXYZ.exe、TestXYZ.txt、TestXYZ.bak、Test.exeのようなファイルがあります。その場合は、 test.exe以外のファイルです。ディレクトリのリストファイルを最初に取得してから、ファイル名と一致するファイルをチェックしてから、file.copyを使用してローカルにコピーしてください。 – Usher

関連する問題