我是编写bat 文件的新手,目前,我正在创建一个bat 文件来访问adb shell 并在其中运行可执行文件。例如,我想运行 adb shell 内的 HelloWorld.exe。而且,我没有权限编辑Helloworld.exe来接收输入参数而不是用户输入。
HelloWorld.exe:
#include <iostream>
using namespace std;
int main() {
string name;
int age;
cout << "Enter your name: ";
cin >> name;
cout << "Hello, " << name << "!" << endl;
return 0;
}
要运行 HelloWorld.exe 本身,我熟悉我们可以使用:
adb shell Helloworld.exe
。但是,我们应该如何将输入传输到可执行文件,我尝试过使用 echo (echo good_guy | adb shell Helloworld.exe
) 但它不起作用。
您不需要创建 bat 文件,您可以创建如下所示的 bash 文件以在 adb shell 中运行。例如:
script
的文件包含以下行
echo "Arg1 is $1, arg2 is $2"
$1 是你的第一个参数
$2 是你的第二个参数
并将其放入您的设备文件夹(/data/local/tmp/)中。然后使用 adb shell 运行它,如下所示
adb shell '/data/local/tmp/script a b'
上面运行后的结果应该是
Arg1 is a, arg2 is b
这按预期工作
echo world | adb shell 'read v; echo "hello $v"'
hello world
所以你的也应该可以工作。