实例介绍
【实例简介】桌面文件整理器
{
QString mpath= ui->lineEdit->text();
QString mtarget=ui->lineEdit_2->text();
if(mtarget.isEmpty())return;
QStringList allfiles=getFileinfolist(mpath);
if(!mpath.isEmpty())
{
if(!m_yearflag) {
work();
}
else{
for(int i=0;i<m_sourcestr.size(); i)
{
QStringList mfiles;
QString targetdir;
//targetdir=mtarget "\" m_sourcestr[i].toUpper();
mfiles= getFileList(allfiles,m_sourcestr[i]);
qDebug()<<mfiles;
qDebug()<<m_sourcestr[i];
if(mfiles.size()<=0)continue;
//create target dir;
//to move file
for(int j=0;j<mfiles.size();j )
{
QFile file(mfiles[j]);
QFileInfo info(file);
QDateTime mdatetime;
mdatetime=info.lastModified().toLocalTime();
//qDebug()<<"year:"<<mdatetime;
// mdatetime=QDateTime::fromString(mdatetime.toString(),format);
//qDebug()<<"year:"<<mdatetime.toString("yyyy");
targetdir=mtarget "//" mdatetime.toString("yyyy") "\\" m_sourcestr[i].toUpper();
QDir dir(targetdir);
if(!dir.exists())
dir.mkdir(targetdir);
//copy
if(file.copy(targetdir "\\" info.fileName()))
//remove
if(!file.remove())
m_errors<<mfiles[j];
}
}
}
QMessageBox::information(nullptr,"","Done!",QMessageBox::Ok);
errorinfo();
}
}
void Widget::work()
{
QString mpath= ui->lineEdit->text();
QString mtarget=ui->lineEdit_2->text();
QStringList allfiles=getFileinfolist(mpath);
for(int i=0;i<m_sourcestr.size(); i)
{
QStringList mfiles;
QString targetdir;
targetdir=mtarget "\\" m_sourcestr[i].toUpper();
mfiles= getFileList(allfiles,m_sourcestr[i]);
if(mfiles.size()<=0)continue;
//create target dir;
QDir dir(targetdir);
if(!dir.exists())
{
if(dir.mkdir(targetdir))
{
}
}
//to move file
for(int j=0;j<mfiles.size();j )
{
QFile file(mfiles[j]);
QFileInfo info(file);
//copy
if(file.copy(targetdir "\\" info.fileName()))
//remove
{
QFile::setPermissions(mfiles[j],QFile::ReadOther|QFile::WriteOther);
if(!file.remove())
m_errors<<mfiles[j];
}
}
}
【实例截图】
{
QString mpath= ui->lineEdit->text();
QString mtarget=ui->lineEdit_2->text();
if(mtarget.isEmpty())return;
QStringList allfiles=getFileinfolist(mpath);
if(!mpath.isEmpty())
{
if(!m_yearflag) {
work();
}
else{
for(int i=0;i<m_sourcestr.size(); i)
{
QStringList mfiles;
QString targetdir;
//targetdir=mtarget "\" m_sourcestr[i].toUpper();
mfiles= getFileList(allfiles,m_sourcestr[i]);
qDebug()<<mfiles;
qDebug()<<m_sourcestr[i];
if(mfiles.size()<=0)continue;
//create target dir;
//to move file
for(int j=0;j<mfiles.size();j )
{
QFile file(mfiles[j]);
QFileInfo info(file);
QDateTime mdatetime;
mdatetime=info.lastModified().toLocalTime();
//qDebug()<<"year:"<<mdatetime;
// mdatetime=QDateTime::fromString(mdatetime.toString(),format);
//qDebug()<<"year:"<<mdatetime.toString("yyyy");
targetdir=mtarget "//" mdatetime.toString("yyyy") "\\" m_sourcestr[i].toUpper();
QDir dir(targetdir);
if(!dir.exists())
dir.mkdir(targetdir);
//copy
if(file.copy(targetdir "\\" info.fileName()))
//remove
if(!file.remove())
m_errors<<mfiles[j];
}
}
}
QMessageBox::information(nullptr,"","Done!",QMessageBox::Ok);
errorinfo();
}
}
void Widget::work()
{
QString mpath= ui->lineEdit->text();
QString mtarget=ui->lineEdit_2->text();
QStringList allfiles=getFileinfolist(mpath);
for(int i=0;i<m_sourcestr.size(); i)
{
QStringList mfiles;
QString targetdir;
targetdir=mtarget "\\" m_sourcestr[i].toUpper();
mfiles= getFileList(allfiles,m_sourcestr[i]);
if(mfiles.size()<=0)continue;
//create target dir;
QDir dir(targetdir);
if(!dir.exists())
{
if(dir.mkdir(targetdir))
{
}
}
//to move file
for(int j=0;j<mfiles.size();j )
{
QFile file(mfiles[j]);
QFileInfo info(file);
//copy
if(file.copy(targetdir "\\" info.fileName()))
//remove
{
QFile::setPermissions(mfiles[j],QFile::ReadOther|QFile::WriteOther);
if(!file.remove())
m_errors<<mfiles[j];
}
}
}
}
.
├── 1.jpg
├── 2.jpg
├── desktopPatch.pro
├── main.cpp
├── widget.cpp
├── widget.h
├── widget.ui
└── 好例子网_desktopPatch-桌面整理.zip
0 directories, 8 files
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
网友评论
我要评论