将 SDelete 集成到 C++ 程序中
Integrating SDelete into C++ Program
我正在尝试使用 SDelete 安全地清除目录。我知道这是从命令行使用的,但是我将如何从我的 C++ 代码中自动清除目录,如果它具有内置函数,也可以使用 Qt。我无法通过搜索找到任何东西,这是我第一次做这样的事情。非常感谢任何帮助,谢谢。
最好不要尝试重新创建 SDelete
的功能。要像 SDelete
那样出色地工作,需要做大量的工作。调用现有应用程序是明智的选择。
现在,关于你的问题......如果你想使用QT,那么你需要的是这样的:
QString path = QString("sdelete", QStringList() << "Bogus.txt");
QProcess sdelete;
sdelete.start( path );
sdelete.waitForFinished();
这将使用参数 Bogus.txt
启动进程 sdelete
,然后等待应用程序完成。
更多信息:https://doc.qt.io/archives/qt-4.8/qprocess.html#start
来自 OP 的编辑:我发现使用以下方法对我有用,参数被传递为 QString。
QProcess::execute("sdelete -s path");
我正在尝试使用 SDelete 安全地清除目录。我知道这是从命令行使用的,但是我将如何从我的 C++ 代码中自动清除目录,如果它具有内置函数,也可以使用 Qt。我无法通过搜索找到任何东西,这是我第一次做这样的事情。非常感谢任何帮助,谢谢。
最好不要尝试重新创建 SDelete
的功能。要像 SDelete
那样出色地工作,需要做大量的工作。调用现有应用程序是明智的选择。
现在,关于你的问题......如果你想使用QT,那么你需要的是这样的:
QString path = QString("sdelete", QStringList() << "Bogus.txt");
QProcess sdelete;
sdelete.start( path );
sdelete.waitForFinished();
这将使用参数 Bogus.txt
启动进程 sdelete
,然后等待应用程序完成。
更多信息:https://doc.qt.io/archives/qt-4.8/qprocess.html#start
来自 OP 的编辑:我发现使用以下方法对我有用,参数被传递为 QString。
QProcess::execute("sdelete -s path");