【发布时间】:2015-09-18 01:02:09
【问题描述】:
我可以通过在CMD 中运行以下命令来打开钱箱:
ECHO ^G>LPT1
问题是当我从批处理文件运行此命令时,没有任何反应。
我添加了timeout 以查看实际运行的命令,并且似乎我的命令在运行时自动替换为以下命令:
ECHO G 1>LPT1
如何从批处理文件运行我的原始命令?
谢谢。
【问题讨论】:
标签: batch-file cmd command
我可以通过在CMD 中运行以下命令来打开钱箱:
ECHO ^G>LPT1
问题是当我从批处理文件运行此命令时,没有任何反应。
我添加了timeout 以查看实际运行的命令,并且似乎我的命令在运行时自动替换为以下命令:
ECHO G 1>LPT1
如何从批处理文件运行我的原始命令?
谢谢。
【问题讨论】:
标签: batch-file cmd command
将插入符号从 ^ 加倍到 ^^,因为 ^ 单独是转义字符。
【讨论】:
这似乎对我有用:
正如约瑟夫所说:
以管理员身份运行 CMD Prompt 并键入: echo @echo(•^>COM5>c:\Drawer.bat
将 COM5 更改为您的打印机所在的任何端口。我正在使用 STAR TSP100IIIECO USB 使用星型驱动程序提供的虚拟 com 端口。
在记事本中打开的结果是: 回声 > COM5
如您所见,记事本无法显示特殊字符,但成功运行 bat 会踢出抽屉。
我知道这是一个旧线程,但希望这可以帮助某人。
【讨论】:
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 不同)。
【讨论】:
如果我能理解,您需要将BELL 声音字符(ASCII 0x07, Ctrl+G)发送到LPT1 设备。
不幸的是,我的文本编辑器(以及notepad.exe)在按下 Ctrl+G 和另一种方法后会带来 Goto line 对话框Alt+07 advised here 错误地将 mojibakes 转换为 ASCII 0x95。这是我的解决方法:从cmd 命令行,输入
echo @echo(•^>LPT1>D:\bat\SO\32642290a.bat
其中• 代表Ctrl+G 或Alt+07 并显示^G on监视器。
结果:
十六进制视图中的结果:
【讨论】:
type D:\bat\SO\32642290a.bat 应该显示 @echo(>LPT1 伴随着 BELL 声音。与ECHO ^G 相同的声音(不重定向到LPT 设备)。