首页 > 解决方案 > 为什么我的批处理文件的内容被解释为 alt 代码?

问题描述

我正在使用批处理文件来执行一些 adb 命令。尝试长按电源键时,我使用以下行:

adb -s <ipaddress>:5555 shell input keyevent --longpress 26.

如果我在 cmd 中输入这个命令,它就会顺利运行。但是,从批处理文件运行它会导致短按。我创建了一个单行批处理文件,上面的命令作为唯一的内容。运行批处理文件时(我只是在 cmd 中输入文件名),命令打印为:

adb -s <ipaddress>:5555 shell input keyevent -ΓÇôlongpress 26

是否有我可能在不知不觉中启用的设置导致了这种情况,或者我需要某种转义字符?

标签: batch-fileadb

解决方案


我很尴尬,我在发布后几分钟就找到了我的问题的解决方案,但我认为我应该分享而不是浪费任何人的时间。

我已经用它自己的 alt 代码(即 alt 45)替换了我的命令中的第二个连字符,现在它在批处理文件中被正确解释了。该行仍然显示:

adb -s <ipaddress>:5555 shell input keyevent --longpress 26

我不明白为什么会这样,如果有人能阐明这个问题,我将不胜感激。

编辑:根据下面评论的建议,我查找了编码方案之间的差异。如果我理解正确,以 ASCII 或 ANSI 编码时,字符限制为 7 位数据。这会将字符保留在 ASCII 表的前 128 个成员中,因此无法生成我之前看到的 alt 代码。


推荐阅读