【发布时间】:2013-05-30 14:03:01
【问题描述】:
我的 nsis 脚本中的以下行返回 7:
ExecWait '"$mysqlfolder\bin\mysqldump" --user=$MySQLUser --password=$MysqlPassword --execute="tcm > D:\db_test.sql"' $2
我想知道它有什么问题。
【问题讨论】:
我的 nsis 脚本中的以下行返回 7:
ExecWait '"$mysqlfolder\bin\mysqldump" --user=$MySQLUser --password=$MysqlPassword --execute="tcm > D:\db_test.sql"' $2
我想知道它有什么问题。
【问题讨论】:
您确定退出代码不是来自 mysqldump 吗?您可以通过运行 Process Monitor 来验证这一点。
在这种情况下,问题可能是标准输出重定向 (>),这种类型的重定向是在 cmd.exe 中实现的,因此除非 --execute 调用 cmd.exe,否则它不会工作。
如果您想捕获(“根”子进程的)输出,您有两种选择:
cmd.exe /C 前缀(如果需要支持 Win9x,请使用 ReadEnvStr "COMSPEC")【讨论】: