感谢大家对我之前关于getlist和copy的查询提出的建议。 我这里只有一个问题
String realname =“test”//我从Db获取此值,所以无论如何我可以这样使用而不是
string realname =“ test ”//我知道我可以像字符串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));
}
}
先谢谢。
答案 0 :(得分:3)
我知道这有点油腻,但实际上您需要开始查看您正在使用的功能的文档:http://msdn.microsoft.com/en-us/library/8he88b63.aspx
表示原因是*是通配符 - 如果你使用“test”,那么你只会检索“test”的完全匹配。
上面的链接还有一些例子。