回显Bell字符命令

12
在Windows的命令提示符中,我可以通过输入echo并按住Ctrl+G来输出响铃字符echo ^G,这时运行该命令会发出响铃声。
但是,当我使用键盘实际输入echo ^G时,屏幕上只会打印出G字母而不会发出任何声音。
有人能解释一下吗?
谢谢。

4
BEL 是 ASCII 码 7 (0x07),它不是可显示的字符。^G 只是屏幕上让人们知道的一种表示方式。显示的字符串由两个字符组成:^= 0x5EG= 0x47 - Stephan
1个回答

8
在第一个例子中,^G代表的是Ctrl-G字符。
当你输入^G时,你实际上输入了两个字符,它们被解释为两个字符。
然而,命令行将^视为特殊字符,以便让它知道下一个字符应该按字面意义处理,因此它实际上没有在屏幕上显示,所以你只能看到G。

2
有没有办法在批处理文件中输入响铃符号? - Peter Ye
5
取决于你的编辑器。有时在按住Alt键的同时,在数字键盘上按下007会插入该字符。这在记事本中不起作用,但是如果你键入Echo echo ^G > beep.cmd(其中^G是Ctrl-G),然后你可以在记事本中编辑beep.cmd,最后复制粘贴到需要的地方。 - sgmoore
5
补充一下 @sgmoore 的评论,你可以通过将输出导入到剪贴板来绕过记事本:echo {Ctrl+G} | clip - abest

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接