GetFile列表并从远程服务器复制到本地

时间:2012-03-04 11:20:40

标签: c#

感谢大家对我之前关于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));

        }
        }

先谢谢。

1 个答案:

答案 0 :(得分:3)

我知道这有点油腻,但实际上您需要开始查看您正在使用的功能的文档:http://msdn.microsoft.com/en-us/library/8he88b63.aspx

表示原因是*是通配符 - 如果你使用“test”,那么你只会检索“test”的完全匹配。

上面的链接还有一些例子。