日期:2014-05-17  浏览次数:20832 次

大家帮忙看看,这句该怎么写
C# code
//检查文件备份目录,删除过期文件
            double SaveDay = Convert.ToDouble(Utils.SaveTime);
            DateTime dtNow = DateTime.Now;

            foreach (string dir in Directory.GetDirectories(Utils.CurrentPath + "\\发送备份目录"))
            {
                DirectoryInfo bf = new DirectoryInfo(dir);
                DateTime dtCreat = bf.CreationTime;
                TimeSpan ts = dtNow.Subtract(dtCreat);
                [color=#FF0000]foreach (string f in dir)
                {
                    File.SetAttributes(f, System.IO.FileAttributes.Normal);//这句是为了防止备份目录中有只读文件时删不掉,所以提前把文件的属性设为normal
                }[/color]
                if (ts.TotalDays > SaveDay)
                {
                    
                    bf.Delete(true);
                }
            }



现在有错误:内层foreach有错误下划线,说无法将类型“char”转换成“string”


请问不然我该怎么写?

------解决方案--------------------
foreach (string f in dir)
换成
foreach (string f in Directory.GetFiles(dir,"*.*",SearchOption.AllDirectories))




------解决方案--------------------
dir已经是文件名了,不需要在foreach了吧,外面已经有个foreach了~
------解决方案--------------------
应该用不到循环,上面已经得到路径.
C# code
File.SetAttributes(dir, System.IO.FileAttributes.Normal);

------解决方案--------------------
探讨

dir已经是文件名了,不需要在foreach了吧,外面已经有个foreach了~