Qt QProcess/setStandardOutputFile备份数据库,包含空格的特殊用法

1.先说明下system调用mysql备份函数时的情况

成功===

"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > D://mnt/usb/sql-2017081617323.sql

失败===

"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > "D://mnt/usb/sql-2017081617323.sql"

失败===

"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > D:/Program Files/SoftPos/fastfd_localdata/sql_backup_dir/xxx.sql

失败===

"E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump" -uroot hddpos > D:/Program Files/SoftPos/fastfd_localdata/sql_backup_dir/xxx.sql


后来
QProcess process;
process.setStandardOutputFile("D:/Program Files/SoftPos/fastfd_localdata/sql_backup_dir/xxx.sql");
process.start("E:/Program Files/mysql-5.7.11-winx64/bin/mysqldump.exe -uroot hddpos");

当即需要输入文件,有需要输出文件是,且路径都有空格时

QProcess process;
//输出文件
process.setStandardOutputFile("C:/Program Files (x86)/xxxx/db_repair_tmp/temp.sql");
//启动程序
process.setProgram("C:/Program Files (x86)/xxxx/sqlite3.exe");
//输入文件,和参数
process.setArguments(QStringList() << "C:/Program Files (x86)/xxxx/db_repair_tmp/yyyy.db" << ".dump");
process.start();

 

 

 

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值