我写了个程序,希望对指定文件夹下的子文件夹名进行修改,添加一个时间在原有的名字后面,但是有点问题,麻烦各位帮我看一下,3QQ。void CCopyFileDlg::RenameFile()
{
UpdateData();
CTime dntm;
dntm=CTime::GetCurrentTime();
CString time = dntm.Format("%Y%m%d"); CFileFind finder;
CString NewFileName,str,FileExtend,FileName,FileRoot="";
BOOL bWorking = finder.FindFile(m_SourcePath+"\\*.*");
EnablePathName(m_OldFileName);
while(bWorking)
{
bWorking=finder.FindNextFile();
if (finder.IsDots())
continue;
m_OldFileName=finder.GetFilePath();
FileName=finder.GetFileName();
m_Num++;
str.Format("%d%d%d",m_Num/100,m_Num/10,m_Num%10);
for (int i=0;i<FileName.GetLength();i++)
{
if(FileName[i]=='.')break;
}
FileExtend=FileName.Right(FileName.GetLength()-i);
m_NewFileName = FileName+time;
CFile::Rename(m_OldFileName,m_NewFileName);
}
UpdateData(FALSE);
}void CCopyFileDlg::EnablePathName(CString &FileName)
{
CString str1,str2;
for (int i=0;i<FileName.GetLength();i++)
{
if (FileName[i]=='\\')
{
str1=FileName.Left(i);
str2=FileName.Right(FileName.GetLength()-i);
str1+="\\";
FileName=str1+str2;
i++;
}
}
return;
}
{
UpdateData();
CTime dntm;
dntm=CTime::GetCurrentTime();
CString time = dntm.Format("%Y%m%d"); CFileFind finder;
CString NewFileName,str,FileExtend,FileName,FileRoot="";
BOOL bWorking = finder.FindFile(m_SourcePath+"\\*.*");
EnablePathName(m_OldFileName);
while(bWorking)
{
bWorking=finder.FindNextFile();
if (finder.IsDots())
continue;
m_OldFileName=finder.GetFilePath();
FileName=finder.GetFileName();
m_Num++;
str.Format("%d%d%d",m_Num/100,m_Num/10,m_Num%10);
for (int i=0;i<FileName.GetLength();i++)
{
if(FileName[i]=='.')break;
}
FileExtend=FileName.Right(FileName.GetLength()-i);
m_NewFileName = FileName+time;
CFile::Rename(m_OldFileName,m_NewFileName);
}
UpdateData(FALSE);
}void CCopyFileDlg::EnablePathName(CString &FileName)
{
CString str1,str2;
for (int i=0;i<FileName.GetLength();i++)
{
if (FileName[i]=='\\')
{
str1=FileName.Left(i);
str2=FileName.Right(FileName.GetLength()-i);
str1+="\\";
FileName=str1+str2;
i++;
}
}
return;
}
解决方案 »
- gdi+通过一个graphicspath, 用图片填充 有锯齿
- com编程出现问题。。。客户端调用CreateInstance时出错 。。。。请帮忙 解决给200分 不够再加
- 静态链接路径设置问题?
- 谁能给我一个ListCtrl可编辑的代码或网上的链接?
- win2000打完安全补丁后ado不能连接,报"0x800A0E7A,未找到提供程序"
- 求一份c++的代码文档规范!!!
- 请问各位一个关于图象隐藏的问题?????
- CListCtrl的一个问题 ̄ ̄ ̄ ̄ ̄ ̄ ̄_______||||||||
- 请问怎么用用dll显示对话框资源?
- 请教RTF文件词法分析器???
- 在VS2010中用串口控件收数据并传入access数据库中遇到问题如下
- 一mfc程序用了SetTimer定时器 在程序run书如何动态调整SetTimer间隔时长??
CFile::Rename(m_OldFileName,m_NewFileName);
这里面的值分别是
m_OldFileName {"C:\Documents and Settings\Administrator\桌面\文件夹\新建文件夹"}
m_NewFileName {"新建文件夹20120420"}
程序看上去传递进去的参数是没有问题的,但是确实会运行到这句话后弹出“对已未命名文件的存取被拒绝”,
想不明白是怎么回事的
不能用Rename把C盘的东西移动到你工程所在盘(假设在D盘)。