0
我试图完成的是将每个数据库转储到单个.sql文件中。每当我运行我的代码时,根据我首先放置哪一个,我会得到'while'和'do'命令的错误。我从那个'while'开始,'do'开始的地方就是例子。我已经尝试了两者,都导致'不承认为内部或外部命令。无法在Windows命令提示符下使用命令
我用我的CMD线以下
"C:\Program Files\MySQL\MySQL Server 5.7\bin\"mysql -u[user] -p[password] -e "show databases" | while read dbname do "C:\Program Files\MySQL\MySQL Server 5.7\bin\"mysqldump -u[user] -p[password] --complete-insert "$dbname" > "D:\Backup\$dbname"_6am_mon.sql; done
不过,我不断收到以下错误:“而”不被识别为一个内部或外部命令,可操作的程序或批处理文件。
为什么使用while和do命令时出错?我如何解决这个错误?
由于
管'|'和输出重定向'>'由cmd.exe的解释,第一,不是看脚本的端口。尝试用脱字符'^ |'和'^>'来逃避它们。 – LotPings
你也似乎有一些奇怪的双引号。 – Compo
@LotPings解决了我收到的错误。如果您创建答案,我会将其标记为正确。 作为解决这个问题的结果,我确实有一个问题。我是否正确使用变量?我的文件以$ dbname_6am_mon.sql的形式出现,而不是实际数据库的名称。 –