2012-03-02 70 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

相關問題