#include <QtCore/QTextStream>
#include <QtCore/QFile>
#include <QtCore/QDir>
using namespace std;
bool findFile(const QString & path)
{
QDir dir(path);
if (!dir.exists())
return false;
dir.setFilter(QDir::Files | QDir::Dirs);
dir.setSorting(QDir::DirsFirst);
QFileInfoList list = dir.entryInfoList();
int nfile = 0;
for (int i = 0; i < list.count(); i++)
{
QFileInfo fileInfo = list.at(i);
// 每个文件夹中都默认含有"." , ".." 其中"." 表示当前文件夹, ".."表示上一层文件夹
//如果遇到这两个文件夹 我们就忽略
if(fileInfo.fileName()=="." || fileInfo.fileName()=="..")
{
continue;
}
bool bisDir = fileInfo.isDir();
if(bisDir)
{
findFile(fileInfo.filePath());
}
else
{
QString fileName = fileInfo.fileName();
if(fileName.endsWith(".exe"))
{
QString sPath = fileInfo.absoluteFilePath();
QFile file("c:/1.txt");
if (file.open(QIODevice::Append | QIODevice::Text))
{
QTextStream stream(&file);
stream << sPath << "\r\n";
}
nfile++;
}
}
}
return true;
}
int main()
{
findFile("C:/");
}
#include <QtCore/QFile>
#include <QtCore/QDir>
using namespace std;
bool findFile(const QString & path)
{
QDir dir(path);
if (!dir.exists())
return false;
dir.setFilter(QDir::Files | QDir::Dirs);
dir.setSorting(QDir::DirsFirst);
QFileInfoList list = dir.entryInfoList();
int nfile = 0;
for (int i = 0; i < list.count(); i++)
{
QFileInfo fileInfo = list.at(i);
// 每个文件夹中都默认含有"." , ".." 其中"." 表示当前文件夹, ".."表示上一层文件夹
//如果遇到这两个文件夹 我们就忽略
if(fileInfo.fileName()=="." || fileInfo.fileName()=="..")
{
continue;
}
bool bisDir = fileInfo.isDir();
if(bisDir)
{
findFile(fileInfo.filePath());
}
else
{
QString fileName = fileInfo.fileName();
if(fileName.endsWith(".exe"))
{
QString sPath = fileInfo.absoluteFilePath();
QFile file("c:/1.txt");
if (file.open(QIODevice::Append | QIODevice::Text))
{
QTextStream stream(&file);
stream << sPath << "\r\n";
}
nfile++;
}
}
}
return true;
}
int main()
{
findFile("C:/");
}