Интеграция SDelete в программу C ++ - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь безопасно очистить каталог с помощью SDelete. Я знаю, что это используется из командной строки, но как я могу автоматически очистить каталог от своего кода C ++, также используя Qt, если он имеет встроенные какие-либо встроенные функции. Я ничего не мог найти с поиском, и я впервые делаю что-то подобное. Любая помощь будет принята с благодарностью, спасибо.

1 Ответ

1 голос
/ 01 мая 2019

Хорошо, что вы не пытаетесь воссоздать функциональность SDelete.Было бы МНОГО работы так же хорошо, как и работа SDelete.Вызов существующего приложения - мудрый выбор.

Теперь перейдем к вашему вопросу ... Если вы хотите использовать QT, то вам нужно что-то вроде этого:

QString path = QString("sdelete", QStringList() << "Bogus.txt");
QProcess sdelete;

sdelete.start( path );
sdelete.waitForFinished();

Этозапустит процесс sdelete с параметром Bogus.txt, а затем подождите, пока приложение не будет завершено.


Дополнительная информация: https://doc.qt.io/archives/qt-4.8/qprocess.html#start

Редактировать из OP: я обнаружил, чтоиспользование следующего сработало для меня с аргументом, передаваемым как QString.

QProcess::execute("sdelete -s path");
...