linux 获得目录中 文件夹 并 删除掉最早的
2007-12-13 07:19
369 查看
获得目录的文件夹 并 删除最早的 ,
好像这个QFileInfoListIterator只有 前++,
#include <stdio.h>
#include <stdlib.h>
#include <qdir.h>
#include <qstring.h>
int main(int argc, char *argv[])
{
QDir d("/Record");
d.setFilter( QDir::Dirs | QDir::NoSymLinks );
d.setSorting( QDir::Name);
const QFileInfoList *list = d.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
printf("%d/n",d.count());
++it;
++it;
fi = it.current();
printf( "%10li %s/n", fi->size(), fi->fileName().latin1() );
QString Qs="rm -rf /Record/";
Qs.append(fi->fileName().latin1());
system(Qs);
return EXIT_SUCCESS;
}
遍历
#include <stdio.h>
#include <qdir.h>
int main( int argc, char **argv )
{
QDir d;
d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
d.setSorting( QDir::Size | QDir::Reversed );
const QFileInfoList *list = d.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
printf( " Bytes Filename/n" );
while ( (fi = it.current()) != 0 ) {
printf( "%10li %s/n", fi->size(), fi->fileName().latin1() );
++it;
}
return 0;
}
递归实现
#include <qdir.h>
#define DIRNAME "e:/test"
void foo1(QString );
void main()
{
foo1(DIRNAME);
}
void foo1(QString s)
{
if(s.right(1) != "/" ) s.append("/"); //判断格式
QDir dir(s);
if(!dir.exists(s,true)) return ; //是否存在
int dc = dir.count();
dir.rmdir(s,true);
if(dir.exists(s,true))
{
for(int i =2 ; i< dc; i++)
{
QString temp = s ;
temp.append(dir);
dir.rmdir(temp,true); //假设其是目录
dir.remove(temp,true); //或者是文件
if(dir.exists(temp,true)) //判断是否删除
{
foo1(temp); //递归
}
}
}
dir.rmdir(s,true);
}
好像这个QFileInfoListIterator只有 前++,
#include <stdio.h>
#include <stdlib.h>
#include <qdir.h>
#include <qstring.h>
int main(int argc, char *argv[])
{
QDir d("/Record");
d.setFilter( QDir::Dirs | QDir::NoSymLinks );
d.setSorting( QDir::Name);
const QFileInfoList *list = d.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
printf("%d/n",d.count());
++it;
++it;
fi = it.current();
printf( "%10li %s/n", fi->size(), fi->fileName().latin1() );
QString Qs="rm -rf /Record/";
Qs.append(fi->fileName().latin1());
system(Qs);
return EXIT_SUCCESS;
}
遍历
#include <stdio.h>
#include <qdir.h>
int main( int argc, char **argv )
{
QDir d;
d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
d.setSorting( QDir::Size | QDir::Reversed );
const QFileInfoList *list = d.entryInfoList();
QFileInfoListIterator it( *list );
QFileInfo *fi;
printf( " Bytes Filename/n" );
while ( (fi = it.current()) != 0 ) {
printf( "%10li %s/n", fi->size(), fi->fileName().latin1() );
++it;
}
return 0;
}
递归实现
#include <qdir.h>
#define DIRNAME "e:/test"
void foo1(QString );
void main()
{
foo1(DIRNAME);
}
void foo1(QString s)
{
if(s.right(1) != "/" ) s.append("/"); //判断格式
QDir dir(s);
if(!dir.exists(s,true)) return ; //是否存在
int dc = dir.count();
dir.rmdir(s,true);
if(dir.exists(s,true))
{
for(int i =2 ; i< dc; i++)
{
QString temp = s ;
temp.append(dir);
dir.rmdir(temp,true); //假设其是目录
dir.remove(temp,true); //或者是文件
if(dir.exists(temp,true)) //判断是否删除
{
foo1(temp); //递归
}
}
}
dir.rmdir(s,true);
}
相关文章推荐
- linux目录中递归删除同名文件夹
- Linux下删除几天前的文件夹或者目录
- Android 把bitmap转换成String,计算图片的缩放值,根据路径获得突破并压缩返回bitmap用于显示,获取保存 隐患检查的图片文件夹名称,获取保存图片的目录,根据路径删除图片,添加到图库
- linux上递归删除目录下的.svn的版本文件夹
- linux 下获得当前目录,上级目录,文件夹名
- Linux下PHP删除一个目录下所有文件夹和子目录
- linux命令删除当前目录即其子目录下的所有文件夹
- linux命令删除当前目录即其子目录下的所有文件夹
- Linux下PHP删除一个目录下所有文件夹和子目录
- linux 批量删除目录下的文件夹,包含子文件
- 41. linux下删除文件夹目录命令
- java删除Linux目录下的文件夹
- linux目录中递归删除同名文件夹
- Linux下PHP删除一个目录下所有文件夹和子目录
- linux 删除目录,非空文件夹
- linux下删除文件以及文件夹命令
- linux中find批量删除空文件及空文件夹脚本
- linux系统下修改文件夹目录权限 .
- linux下 rm 删除非空目录
- linux的文件及目录的默认权限umask值和chown改变用户属主及组和删除用户及-bash-4.1错误