我正在一个需要我使用窗口任务计划程序执行mysql查询的项目,这是批处理文件的内容:
MysqL -ufoo -pbar -D %1 < %2
当我通过cmd测试批处理文件时:
task_sheduler.bat dbname pathTosqlFile
我得到:
MysqL -ufoo -pbar -D dbname 0<pathTosqlFile
我只想说它起作用,我的问题是多余的空间和0是什么,它们来自哪里?
>多余的空间在dbname和0之间
>我正在使用Windows 7 Ultimate Service Pack 1(x64)
解决方法:
我假设您的批处理文件没有@echo off命令,因此您引用执行批处理文件时屏幕上显示的命令的回显.这些命令的显示经常包含cmd.exe插入的其他字符,以准确显示已执行的命令.
在重定向的情况下,< input>是Stdin重定向的简写形式,并且Stdin的数目是零,因此实际的重定向是0< input.对于> output也发生相同的情况,即作为1> output回显. cmd.exe还会从原始代码中删除多个空格,并插入所需的空格,以便清楚地显示已执行的命令.
如果您不希望看到这些命令,只需在批处理文件的开头插入@echo off命令.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。