Qtで空でないフォルダを削除するにはどうすればいいですか?Qtで空でないフォルダを削除する
31
A
答えて
39
最初にディレクトリの内容を再帰的に削除します。 Here is a blog post with sample code for doing just that.関連するコードスニペットを記載しました。
bool removeDir(const QString & dirName)
{
bool result = true;
QDir dir(dirName);
if (dir.exists()) {
Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
if (info.isDir()) {
result = removeDir(info.absoluteFilePath());
}
else {
result = QFile::remove(info.absoluteFilePath());
}
if (!result) {
return result;
}
}
result = QDir().rmdir(dirName);
}
return result;
}
編集:あなたは、この機能がQDir::removeRecursively()方法でQDirに組み込まれているのQt 5を使用している場合は、上記の答えはQtの4のためでした。
51
Qt 5を使用している場合はQDir::removeRecursively()です。
関連する問題
- 1. トリプルループで空のフォルダを削除する
- 2. 空でないフォルダと特定のファイルタイプを削除する
- 3. wix - 空でないフォルダを削除する方法
- 4. fs.unlink()は、空の、または空でないフォルダを削除できます
- 5. Artifactory AQL空のフォルダを削除する
- 6. Googleストレージ:空のフォルダを削除する
- 7. ファイルを削除するが、フォルダは削除しないC#
- 8. MacでQtライブラリを削除
- 9. プラグインをQtで削除する
- 10. 空でないフォルダを削除するにはどうすればよいですか?
- 11. _vtiフォルダをプログラムで削除する
- 12. サブディレクトリを持つディレクトリを削除する(空でない)
- 13. フォルダ内のファイル名から空白を削除する
- 14. Renci SSH.NET:空でないディレクトリを削除するには?
- 15. MSIのアンインストールですべてのフォルダを削除しない
- 16. 空であるか、隠しファイルしかないフォルダを削除しようとしています
- 17. 古いフォルダの自動削除Windowsで
- 18. XPathで空白を削除するdom4j
- 19. 空のディレクトリをAIXで削除する
- 20. Excelで空のセルを削除する
- 21. なぜ単にPHPでフォルダを削除できないのですか?
- 22. DOSコマンドを使用してフォルダを削除できない
- 23. DataGridで空の行を削除できないWPF
- 24. アプリで削除されたフォルダをアプリケーションフォルダ外のアプリで削除する方法
- 25. Amazon S3はPHPから空のフォルダを削除します
- 26. iOSの空のフォルダを削除しますか?
- 27. フォルダのタイムスタンプを調べ、ファイルではないPowerShell削除スクリプト
- 28. Vistaの.svnフォルダを削除できない
- 29. なぜnpm pruneでnode_modulesからフォルダを削除しないのですか?
- 30. Qt:閉じる、破棄、削除の違いは何ですか?
類似パスは相対パスでは機能しません。 removeDir( "docs")は、最初のifに "docs/docs"が存在するかどうかをチェックします。同じ問題はdir.rmdir行にあります。私は正しい? – cybevnm
@cybevnm:はい、そうです。パラメータなしでオーバーロードされた 'exists()'メソッドを使用するようにスニペットを変更しました。 http://doc.qt.io/qt-4.8/qdir.html#exists-2 –
"result = dir.rmdir(dirName)"の行には私と同じ欠陥があります。 QDir()。rmdir(dirName)を使って修正しました。 – cybevnm