为什么我的批处理文件的内容被解释为alt代码?

时间:2018-05-15 17:10:24

标签: batch-file adb

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

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

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

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

我可能在不知不觉中启用了导致此问题的设置,还是需要某种转义字符?

1 个答案:

答案 0 :(得分:0)

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

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

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

我不明白为什么会有效,如果有人能说清楚这个话题,我会很感激。

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