Почему содержимое моего командного файла интерпретируется как альтернативные коды? - PullRequest
0 голосов
/ 15 мая 2018

Я использую командный файл для выполнения некоторых команд ADB. При попытке сделать длинное нажатие клавиши включения я использую следующую строку:

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

Если я наберу эту команду в cmd, она работает без проблем. Однако запуск его из командного файла приводит к короткому нажатию. Я создал командный файл с одной строкой, с вышеуказанной командой в качестве единственного содержимого. При запуске командного файла (я просто набираю имя файла в cmd), команда выводится как:

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

Есть ли настройка, которую я, возможно, неосознанно включил, которая вызывает это, или мне нужен какой-нибудь экранирующий символ?

1 Ответ

0 голосов
/ 15 мая 2018

Мне довольно неловко, что я нашел решение своей проблемы только через несколько минут после публикации, но я решил, что должен поделиться и не тратить чье-либо время.

Я заменил второй дефис в моей команде на свой собственный alt-код (т.е. alt 45), и теперь он правильно интерпретируется в командном файле. В строке все еще читается:

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

Я не понимаю, почему это работает, и был бы признателен, если бы кто-то пролил свет на эту тему.

Редактировать: Исходя из рекомендации, приведенной ниже, я посмотрел на различия между схемами кодирования. Если я правильно понимаю, при кодировании в ASCII или ANSI символы ограничены 7 битами данных. Это сохранит символы в первых 128 элементах таблицы ASCII, поэтому коды альта, которые я видел ранее, не могут быть сгенерированы.

...