如何解决将 < 或 > 传递给 shell 命令?
我有一个用 VB6 编写的旧软件的维护,我不得不将它从 MSAccess 更改为 mySQL。该程序通过调用外部数据库实用程序来工作,这些实用程序使用 shell 将数据重定向到文件或从文件重定向数据。
在尝试编写新的数据库备份和恢复功能时,我得到了一个可怕的惊喜。通过 SHELL 函数(p.e.)发送命令行时,尖括号似乎不起作用:
Shell ("""" & mySQLdumpLocation & """" --defaults-file="""" & confFileLocation & """" nameofthedatabase > """" & backuplocation & """")
此指令打开了一个命令行窗口,可以在其中看到 mysqldump 输出,但它没有创建备份文件。将相同的指令复制到 cmd 窗口时效果很好。
经过几个小时的查找,我注意到将 ">" 关键字更改为 -r 的信息成功了。
现在我在恢复备份时遇到了同样的问题。理论上我需要使用这个:
Shell ("""" & mysqlexeLocation & """" --defaults-file="""" & confFileLocation & """" nameofthedatabase < """" & backuplocation & """")
...不,它不起作用。它什么都不做。复制到 cmd 窗口的相同指令按预期工作......我还没有找到“
有人知道发生了什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。