2012-03-02 44 views
0

我已经发布了关于我的FTP过程(简单和简短)的早期问题,它将检查ftp服务器目录并匹配这些文件并下载它,我试图使用文件共享来做同样的事情,但有点合乎逻辑的方式。从文件共享复制文件的最佳方法?

这样的情况,我的db根据位置告诉我的文件名(例如text.exe)和位置(底特律)(我有配置文件,例如Detroit Value://10.26.10.127/testfolder,Washington Value ://10.26.10.127/testfolder)。

然后我会将text.exe从(//10.26.10.127/testfolder)复制到我的本地驱动器。

步骤1:获得从文件共享 步骤2文件列表:文件名存储在所述的StringBuilder 步骤3:使用条件(含)以匹配文件名 步骤4:从文件共享位置到本地位置复制。

请别人告诉我从哪里开始?

+1

我不明白你的问题,但它听起来像你正在寻找[File.Copy](http://msdn.microsoft.com/en-us/library/system.io.file.copy。 ASPX)。 – Gabe 2012-03-02 13:18:10

+0

什么是大小范围?他们(或者他们可能)是巨大的敌人吗? – AnarchistGeek 2012-03-02 13:32:53

+0

@AnarchistGeek,其中一些是450meg到17Gig的文件。 – Usher 2012-03-13 23:30:06

回答

0

这是从数据开始的一种方法。

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 2012-03-02 21:08:20

+0

要复制所有具有文件名的文件,为我的目标位置(//10.120.10.126)有像TestXYZ.exe,TestXYZ.txt,TestXYZ.bak,Test.exe文件“在这种情况下,我将复制所有除了test.exe之外的文件,所以我必须先在目录中使用获取列表文件,然后检查文件是否与我的文件名匹配,然后使用file.copy将其复制到本地。 – Usher 2012-03-02 21:08:46

相关问题