1
感謝所有關於我之前關於getlist和copy的查詢所做的建議。 我只有一個問題在這裏GetFile列表並從遠程服務器複製到本地
字符串實名=「測試」 //正在逐漸從數據庫這個值,所以這是我無論如何可以使用這樣的,而不是
弦真實姓名=「測試」//我知道我可以做像string realname =「」+ Dbvalue +「」;
我只是想知道爲什麼它不返回任何值,如果不使用「*」?
class Program
{
static void Main(string[] args)
{
var getfiles = new fileshare.Program();
string realname = "*test*";
foreach (var file in getfiles.GetFileList(realname))
{getfiles.copytolocal(file.FullName); }
}
private FileInfo[] GetFileList(string pattern)
{
var di = new DirectoryInfo(@"\\testserv01\dev");
return di.GetFiles(pattern);
}
private void copytolocal(string filename)
{
string nameonly = Path.GetFileName(filename);
File.Copy(filename,Path.Combine(@"c:\",nameonly));
}
}
在此先感謝。
if(file.contains(「test」)) – Usher 2012-03-04 21:03:30
在您的示例文件中是FileInfo的一個實例。 FileInfo沒有「包含」方法,請注意,我必須繼續的唯一上下文是您的帖子中的信息,因爲您提出的問題沒有意義。我會猜測你在問是否應該在由DirectoryInfo搜索返回的FileInfo []上執行第二次匹配。在這種情況下,答案是否定的 - 您應該使通配符搜索準確無誤 - 這是因爲文件系統搜索的開銷在兩種情況下都會發生,因此您不妨避免第二次匹配的開銷(和複雜性) – dice 2012-03-04 21:43:20