通过批处理文件运行MySQL - 流氓字符

时间:2014-12-31 16:24:29

标签: mysql windows batch-file cmd

我在尝试从Windows批处理文件运行以下MySQL时遇到了一些问题。

我创建了一个名为restore_database.bat的批处理文件,其中包含列表行:

C:\wamp\mysql\bin\mysql --user=root --password=abc123456 mydatabase < C:\Temp\mydatabase.sql

现在,当我运行restore_database.bat时,会打开一个cmd窗口,命令显示在屏幕上并执行。但是,该命令与批处理文件中的内容略有不同。我在<之前的语句中出现了一个胭脂空间加上0(零),例如

C:\Users\Peter\Documents\Server Scripts>restore_database.bat

C:\Users\Peter\Documents\Server Scripts>C:\wamp\mysql\bin\mysql --user=root --password=abc123456 mydatabase  0< C:\Temp\mydatabase.sql

即,在mydatabase之后我得到一个额外的空格,并且在<

之前插入了0

我怎样才能纠正这个问题,为什么会出现。

我正在使用Win7 64bit Ultimate作为我的操作系统

1 个答案:

答案 0 :(得分:0)

这是预期的行为。在重定向符号之前出现的 0 字符不是伪造的(或者#34;流氓&#34;)字符。

这种行为与mysql程序没有任何关系,这是Microsoft Windows的默认行为。

0 是STDIN句柄的等效数字,就像 1 是STDOUT的数字等价物一样, 2 是数字等价物STDERR。

您可以更改.bat文件以在重定向符号前包含0个字符,它不会产生任何影响。

参考:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx