命令从CMD运行,但不从批处理文件

时间:2015-09-18 01:02:09

标签: batch-file cmd command

我可以通过在CMD中运行以下命令打开现金抽屉:

ECHO ^G>LPT1

问题是当我从批处理文件运行此命令时,没有任何反应。 我添加了一个timeout来查看实际运行的命令,看起来我的命令在运行时会自动替换为以下命令:

ECHO G 1>LPT1

如何从批处理文件中运行原始命令?
谢谢。

4 个答案:

答案 0 :(得分:2)

将插入符号从^加倍到^^,因为^单独是转义字符。

答案 1 :(得分:1)

这似乎对我有用:

如约瑟夫所说:

以管理员身份运行CMD Prompt,然后键入: 回声@echo(•^> COM5> c:\ Drawer.bat

将COM5更改为打印机打开的任何端口。我正在使用STAR TSP100IIIECO USB,并且使用了star驱动程序随附的虚拟com端口。

在记事本中打开时的结果是: 回声> COM5

您将看到记事本无法显示特殊字符,但是运行蝙蝠可以成功踢出抽屉。

我知道它是一个旧线程,但希望这可以帮助某人。

答案 2 :(得分:0)

ECHO G 1>LPT1 

完全相同
ECHO G>LPT1

第一个是正确的,第二个是msdos兼容性和我们最常使用的。 CMD修复它,因为它在批处理文件中而不是键入,它可以改变你看到的内容。

但是要在文本文件中输入Ctrl + G,请使用CMD重定向

echo echo [ctrl+g]^>lpt1

如果32位使用edit.com。在编辑中按Ctrl P然后按Ctrl G(它看起来与cmd不同)。

答案 3 :(得分:0)

如果我能理解,您需要将BELL声音字符(ASCII 0x07 Ctrl + G )发送到{{1设备。

不幸的是,在按下 Ctrl + G 之后,我的文本编辑器(以及LPT1也会带来 Goto行对话框)方法 Alt + 07 advised here错误地mojibake转换为ASCII notepad.exe。这是我的解决方法:从0x95命令行输入

cmd

其中echo @echo(•^>LPT1>D:\bat\SO\32642290a.bat 代表 Ctrl + G Alt + 07 并显示{{ 1}}在监视器上。

结果:

32642290a_bat

十六进制视图的结果:

32642290a_bat_HEX