c++ - 从 diskpart 读取输出
问题描述
在格式化笔式驱动器时,我需要从diskpart读取输出。这是我在后台工作的格式化代码。
QString exePath = "diskpart.exe";
QString arguments = "/s pendrive.txt";
ShellExecuteW(NULL, NULL, (LPCWSTR)exePath.toStdWString().data(), (LPCWSTR)arguments.toStdWString().data(), NULL, SW_HIDE);
pendrive.txt:
select disk 1
clean
create partition primary
select partition 1
active
format quick fs=ntfs
assign
如何读取输出以检查一切是否已成功完成?
我发现这个:
QString arg ="diskpart /s pendrive.txt > output.txt";
但是我该如何使用它呢?这个对吗?这是检查格式化是否成功的最佳方法吗?也许没有.txt
文件的其他解决方案会更好?
解决方案
既然您已经使用 Qt,为什么不使用QProcess
? 这为您节省了使用文本文件的麻烦。只要打电话readAllStandardOutput
。您甚至可以检查finished
信号,该信号提供ExitCode
.
推荐阅读
- python - 将烧瓶应用程序推送到 heroku 时未找到包错误
- jquery - 无法在单击时动态更改按钮上的 div 内容
- git - 如何完全重新设置主分支中的所有提交?
- node.js - 跨多个文件具有相同名称的非导出变量导致 TS2403
- php - Symfony / Doctrine 中的映射异常:在“App\DocumentBundle\Entity\Document#file”中找不到目标实体 App\DocumentBundle\File
- pyspark - 创建 pyspark 数据框时如何将小数作为值传递?
- html - 如何在引导程序中制作下拉列表?
- java - 如果我在方法中初始化模型,为什么我不能访问它?
- bash - 如何解析 csv 文件以在第 2 列的文件中查找“失败”并找到第 7 列的平均值
- linux - Bash 脚本 - 如何检查是否安装了软件包并根据终端结果执行操作