nsis execwait返回7

时间:2013-05-30 14:03:02

标签: nsis execute

我的nsis脚本中的以下行返回7:

ExecWait '"$mysqlfolder\bin\mysqldump" --user=$MySQLUser --password=$MysqlPassword --execute="tcm > D:\db_test.sql"' $2

我想知道它有什么问题。

1 个答案:

答案 0 :(得分:1)

您确定退出代码不是来自mysqldump吗?您可以通过运行Process Monitor来验证这一点。

在这种情况下,问题可能是stdout重定向(>),这种类型的重定向是在cmd.exe中实现的,所以除非--execute调用cmd.exe它不会起作用。

如果要捕获(“root”子进程的)输出,您有两个选择:

  • 使用cmd.exe /C作为命令行的前缀(如果需要支持Win9x,请使用ReadEnvStr“COMSPEC”)
  • 使用将捕获输出的exec plugins之一。