DOS批处理文件命令不会执行

时间:2016-07-19 13:47:24

标签: windows batch-file cmd

以下命令行正确执行:     

 MagBoltz32 < input.txt > out.txt 

可执行文件需要上面括号中的输入并输出文本文件。以下“batch.BAT”文件(现在包括转义字符)不会执行,只是挂起就像期待更多输入一样。     

 MagBoltz32 ^< input.txt ^> out.txt 
执行batch.BAT只会导致闪烁的光标。最终,此命令行将进入FOR循环,循环遍历多个输入/输出文件。我可以访问源代码。

2 个答案:

答案 0 :(得分:2)

这不是“括号中的输入”。该程序不使用任何参数(至少不在所示的语法中)。它从STDIN获取它的输入并写入STDOUT。

<input.txtinput.txt的内容重定向到STDIN,因此程序可以使用它,就像按键盘输入一样。
>output.txt将STDOUT重定向到文件output.txt,而不是将其写入屏幕。

只需要转义字符,如果你想在屏幕上显示特殊的字符而不是“执行”它(简单说出来),所以在你的情况下,转义重定向字符是没有意义的,但是禁用了重定向。

答案 1 :(得分:0)

在某些操作系统中,您需要转义管道&lt;,&gt;和|所以语法可以完全有效。对于批处理文件(http://www.robvanderwoude.com/redirection.php)尤其如此...您是否已检查以确保所有文件与执行批处理文件的路径相同?如果你从C:\ foo运行批处理,即使bath.BAT在c:\ bar中,input.txt也应该在C:\ foo中。