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. wix - 空でないフォルダを削除する方法
- 2. 空でないフォルダと特定のファイルタイプを削除する
- 3. MacでQtライブラリを削除
- 4. プラグインをQtで削除する
- 5. _vtiフォルダをプログラムで削除する
- 6. サブディレクトリを持つディレクトリを削除する(空でない)
- 7. フォルダ内のファイル名から空白を削除する
- 8. Renci SSH.NET:空でないディレクトリを削除するには?
- 9. MSIのアンインストールですべてのフォルダを削除しない
- 10. 空のディレクトリをAIXで削除する
- 11. DOSコマンドを使用してフォルダを削除できない
- 12. iOSの空のフォルダを削除しますか?
- 13. Vistaの.svnフォルダを削除できない
- 14. フォルダのタイムスタンプを調べ、ファイルではないPowerShell削除スクリプト
- 15. 空白を削除する
- 16. なぜnpm pruneでnode_modulesからフォルダを削除しないのですか?
- 17. Emacsの空白まで削除する
- 18. Gulp - 空のフォルダを再帰的に削除
- 19. WebSphereのJ2EE/Strutsアプリケーションで不要な空白を削除する
- 20. Windowsのcで.zipファイルを削除するには? (エラー:ディレクトリが空でない)
- 21. 「フォルダが空でない場合」
- 22. DDMSからフォルダを削除する
- 23. Gulp:フォルダを削除するには?
- 24. Rails - ルートからフォルダを削除する
- 25. キュウリシナリオ後のフォルダを削除する
- 26. ユーザーのフォルダを削除するスタートメニュー\プログラム
- 27. /usr/portageフォルダを削除するGentoo
- 28. アプリケーションで使用されていないものを削除するためにQtライブラリを削除するにはどうすればよいですか?
- 29. 空白を含む要素を削除するには?私は簡単に空白スペースを持っていないタグを削除することができ
- 30. いくつかのファイルを圧縮して削除した後にフォルダ内のフォルダを削除する
類似パスは相対パスでは機能しません。 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