Board logo

标题: [特效代码] [问题探讨]意外发现批处理可以让系统发声的字符“” [打印本页]

作者: yakeyun    时间: 2021-10-21 16:02     标题: [问题探讨]意外发现批处理可以让系统发声的字符“”

本帖最后由 yakeyun 于 2021-10-21 17:09 编辑

测试代码时,CMD界面不小心按到了组合键"Ctrl+G",于是就打上了“^G”字符,回车执行代码时,主机喇叭竟然发出了声音。



于是想着能不能把这个字符写入批处理代码,这样在需要代码声音提示的时候,就不用调用第三方程序。尝试用右键全选,CTRL+C粘贴出来,代码“^G”无法被批处理执行。
最终换了一个思路,CMD命令前面加入ECHO,^G >C:\1.TXT  ,导出后得到文本字符“”。测试发现输出的字符是可以被批处理执行,并发出声音。经测试,这个代码在win7和win10下测试都可以执行并发出声音。
同时这个字符一行出现的次数多少,可以表现出不同的节奏,也就是说不同的组合,配合上适当的延时,可以得到不同的效果。附上测试代码:

@echo off
: audio

cls
timeout /t 1 >nul

cls
timeout /t 2 >nul
goto audio

友情提示:如果不加延时,以及“”字符连续次数过多,会导致假死现象。
作者: a20150604    时间: 2021-10-21 16:15

你就用 beep 做 摩尔斯 码发帖子吧
作者: yakeyun    时间: 2021-10-21 16:35

回复 2# a20150604


可以用这个字符发声来判断代码执行到哪一步了,比如代码一执行完,执行“”,代码二执行完,执行“”。在不用第三方的情况下,用声音判断执行结果。
作者: a20150604    时间: 2021-10-21 17:09

本帖最后由 a20150604 于 2021-10-21 17:11 编辑

此字符名为 BELL/BEL/BEEP, ASCII 代码值为 7,
https://en.wikipedia.org/wiki/Bell_character

也有不用 按 Ctrl+G 组合键而直接由纯 BAT 生成的方式

引用参考于: https://www.dostips.com/forum/viewtopic.php?p=36446#p36446
  1. @echo off
  2. forfiles /m "%~nx0" /c "cmd /c echo 0x07"
  3. for /f %%i in ('forfiles /m "%~nx0" /c "cmd /c echo 0x07"') do set BEL=%%i
  4. echo %BEL%
  5. pause
  6. exit
  7. REM https://www.dostips.com/forum/viewtopic.php?p=36446#p36446
  8. REM https://www.dostips.com/forum/viewtopic.php?f=3&t=5860
复制代码

作者: Batcher    时间: 2021-10-22 11:11

回复 1# yakeyun


十多年前也有人发现过
http://bbs.bathome.net/thread-7521-1-1.html
作者: Batcher    时间: 2021-10-22 11:17

回复 4# a20150604


这里有另外一种方法
http://bbs.bathome.net/thread-23656-1-1.html#pid129131
作者: hztccy    时间: 2021-10-22 23:56

我突然记得,好像多年前有个国外大神用这个类似代码搞了首曲子来着的。
作者: msdmck    时间: 2021-10-28 16:08

本帖最后由 msdmck 于 2021-11-4 16:04 编辑

好像還挺有趣的哈哈
作爲業主借錢周轉的主要途徑之一,當中也不乏業主會以
私人借貸的形式應付,而在消費者清卡數時應該注意利息,培養良好財務管理習慣以免受過度消費無法清咭數的問題困擾。





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2