0

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

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

我想知道它有什么问题。

4

1 回答 1

1

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

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

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

  • 为您的命令行添加前缀cmd.exe /C(如果您需要支持 Win9x,请使用 ReadEnvStr "COMSPEC")
  • 使用将捕获输出的exec 插件之一。
于 2013-05-30T14:36:08.493 回答