求代码(如何创建文件夹)
创建一个文件夹.文件夹名称是当天的日期(20070425)谢谢.....
[解决办法]
不太符合你的问题,但希望能对你有 帮助 帮你顶了
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;
}
}
}
[解决办法]
CreateDirectory(PChar(ExtractFilePath(ParamStr(0))+FormatDateTime( 'yyyymmdd ',Now)),nil);
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
dirName:string;
begin
dirName:=ExtractFilePath(Application.ExeName)+ FormatDateTime( 'YYYYMMDD ',Date);
if not DirectoryExsist(dirName) then //创建前判断文件夹是否已经存在
CreateDir(dirName);
end;
[解决办法]
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;
[解决办法]
ForceDirectories(pathname);也是可以的
[解决办法]
CreateDir
这个函数2000下和XP下效果不太一样。
2000下,参数中的PATH可以是多级的,如 "D:\A\B\C ",这样如果A、B、C都没创建的话,函数都能够创建出来
XP下,如果A、B没有创建,则C不能创建,必须一级一级地创建出来才行
[解决办法]
强烈鄙视沙发 heliu321()
[解决办法]
CreateDir
顺便
强烈鄙视沙发 heliu321()