下面是移动一个文件夹下的方法:
 protected static void movefile()
        {
            string folderpath = ConfigurationManager.AppSettings[@"DownloadDirectory"];
            DirectoryInfo fileinfo = new DirectoryInfo(folderpath);            FileInfo[] files = fileinfo.GetFiles();
            foreach (FileInfo f in files)
            {
                string movefilename = ConfigurationManager.AppSettings[@"MoveFileDirectory"];
                f.MoveTo(movefilename + f.Name);
            }
        }运行后,文件夹下的文件都会移走。但是最后一个移完后会报错。
错误提示:改文件正在使用。进程无法访问改文件。调试发现:FileInfo f in files。f获取的最后一个文件没路径
高人指点

解决方案 »

  1.   

    http://topic.csdn.net/t/20051025/01/4347890.html
      

  2.   

    你可以copy后清除原来的文件!
      

  3.   

    为什么不直接用DirectoryInfo.MoveTo???把foreach改成for
      

  4.   

    DirectoryInfo.MoveTo是移动这一个文件夹包括文件夹里的所有东西。而我只想移动文件夹里面的所有文件
      

  5.   

    所有文件??是否包含子文件夹中的内容?
    如果不包括把foreach改成for就可以了
    如果包括参考我上面例子中的递归~~~
      

  6.   

    foreach改成for一样的错误。
    没办法。try了一把。
    反正我想要他做的事都做完了,扑捉错误不做任何处理就没撒问题。
    结贴!