2016-01-07 2 views
0

Я хочу удалить папку:Удаление каталога в Qt

QDir dir1; 
dir.remove("TEST"); 

Failed, потому что есть вложенная папка:

TEST 
    └A 
    └B 

Также попробовал другой путь:

QProcess pProcess = new QProcess; 
QString total; 
total="TEST"; 
list1<<"-r"+total; 
pProcess->execute("rm",list1); 

На этот раз не удалось:

rm: Inappropriate options -- 'L' 

Как удалить каталог с подкаталогами?

+3

Возможный дубликат [Удаление непустой папки в Qt] (http://stackoverflow.com/questions/11050977/removing-a-non-empty-folder-in-qt) – demonplus

+0

@demonplus спасибо, но Deletion нет. my Qt ver 4.8 –

+1

Возможно, вам стоит попробовать list1 << "-r" << total; – Evgeny

ответ

2
bool removeDirRecursively(const QString& dirPath) 
{ 
    QDir dir(dirPath); 
    bool r = dir.removeRecursively(); 
    qDebug() << "The directory remove operation " << 
     (r ? "finished successfully" : "failed"); 
} 
Смежные вопросы