创建一个文件夹.文件夹名称是当天的日期(20070425)谢谢.....

解决方案 »

  1.   

    不太符合你的问题,但希望能对你有 帮助 帮你顶了
    public class FileOperateObject
        {
            private string _NewFileType = "txt"; 
            public string NewFileType
            {
                set { _NewFileType = value; }
                get { return _NewFileType; }
            }        private string _OldFileType = "txt";
            public string OldFileType
            {
                set { _OldFileType = value; }
                get { return _OldFileType; }
            }        /// <summary>
            /// 修改文件的扩展类型 其实就是重新移动了一下文件 并用了新的文件类型
            /// </summary>
            /// <param name="path">文件所在的文件夹</param>
            /// <param name="ExtensionType">修改类型 默认的是txt</param>
            /// <param name="SubFile">包括子文件夹中的所有文件</param>
            /// <returns></returns>
            public bool ChangeFileType(string path,bool SubFile)
            {
                bool b = true;
                DirectoryInfo dInfo = new DirectoryInfo(path.Trim());
                if (SubFile)
                {
                    if (dInfo.GetDirectories().Length > 0)
                    {
                        b = LoopDirectorys(dInfo);
                        if (b == false)
                        {
                            return false;
                        }
                    }
                }
                if (dInfo.GetFiles().Length > 0)
                {
                    b = LoopFiles(dInfo);
                }
                if (b)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            /// <summary>
            /// 循环当前文件夹下的所有子文件夹
            /// </summary>
            /// <param name="dInfo"></param>
            /// <param name="ExtensionType"></param>
            private bool LoopDirectorys(DirectoryInfo dInfo)
            {
                bool b = true;
                DirectoryInfo[] dInfos = dInfo.GetDirectories();//得到当前目录下的所有子目录
                foreach (DirectoryInfo d in dInfos)
                {
                    b = LoopFiles(d);
                    if (b == false)
                    {
                        return false;
                    }
                    if (d.GetDirectories().Length > 0)
                    {
                        LoopDirectorys(d);
                    }               
                }
                return true;
            }
            /// <summary>
            /// 循环当前文件夹下的所有文件 并更改 其实就是重新移动了一下文件 并用了新的文件类型
            /// </summary>
            /// <param name="dInfo"></param>
            /// <param name="ExtensionType"></param>
            private bool LoopFiles(DirectoryInfo dInfo)
            {
                try
                {
                    if (string.IsNullOrEmpty(this._NewFileType))
                    {
                        this._NewFileType = "txt";
                    }
                    DirectoryInfo i = new DirectoryInfo(dInfo.FullName);
                    FileInfo[] fInfos = i.GetFiles();//得到当前目录下的所有文件 不包括子目录下的文件
                    foreach (FileInfo fi in fInfos)
                    {
                        string fileName = fi.Name;
                        string str = fileName.Substring(0, fileName.LastIndexOf('.'));
                        string newPath = fi.DirectoryName + "\\" + str + "." + this._NewFileType.Trim();
                        fi.MoveTo(newPath);
                    }
                    return true;
                }
                catch
                {
                    return false;
                }
            }        /// <summary>
            /// 返回指定文件夹中的文件列表 
            /// </summary>
            /// <param name="path"></param>
            /// <param name="SubFolder">true 包括子文件夹</param>
            /// <returns></returns>
            public ArrayList GetFileList(string path,bool SubFolder)
            {
                ArrayList al = new ArrayList();
                DirectoryInfo info = new DirectoryInfo(path);
                FileInfo[] fis = info.GetFiles();
                foreach (FileInfo fi in fis)
                {
                    al.Add(fi.FullName.ToString());
                }
                return al;
            }
        }
    }
      

  2.   

    CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+FormatDateTime('yyyymmdd',Now)),nil);
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      dirName:string;
    begin
      dirName:=ExtractFilePath(Application.ExeName)+ FormatDateTime('YYYYMMDD',Date);
      if not DirectoryExsist(dirName) then //创建前判断文件夹是否已经存在
        CreateDir(dirName);
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    dirName:string;
    begin
    if not DirectoryExsist(ExtractFilePath(Application.ExeName)+ FormatDateTime('YYYYMMDD',NOW);) then
    CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+FormatDateTime('yyyymmdd',Now)),nil);
    end;
      

  5.   

    ForceDirectories(pathname);也是可以的
      

  6.   

    CreateDir这个函数2000下和XP下效果不太一样。2000下,参数中的PATH可以是多级的,如"D:\A\B\C",这样如果A、B、C都没创建的话,函数都能够创建出来XP下,如果A、B没有创建,则C不能创建,必须一级一级地创建出来才行
      

  7.   

    CreateDir
    顺便
    强烈鄙视沙发 heliu321()