我正在为自己创建一个批处理文件(* .bat),尝试使用adb.exe输入命令,使文件变得更简单。 问题是,'adb shell'之后的任何代码都没有在批处理中执行。 因此,如果我有一个批次包含以下内容:
adb shell
cd /storage/emulated/legacy/
mkdir $(date +%d-%m-%Y)_OniFiles
mv *.oni $(date +%d-%m-%Y)_OniFiles
adb pull /storage/emulated/legacy/$(date +%d-%m-%Y)_OniFiles C:/$(date +%d-%m-%Y)_OniFiles
'cd / storage / emulated / legacy /
mkdir $(日期+%d-%m-%Y)_OniFiles
mv * .oni $(日期+%d-%m-%Y)_OniFiles
adb pull / storage / emulated / legacy / $(日期+%d-%m-%Y)_OniFiles C:/ $(日期+%d-%m-%Y)_OniFiles'
将不会被执行并保持在'$'。 对于批处理文件来说,输入代码似乎太深了。 我也尝试使用相同的脚本推送一个sh并从adb运行它,但是我得到了所有权限。
我也试过'adb shell cd / storage ...',没有任何运气。
你能帮帮我吗? 谢谢!答案 0 :(得分:1)
以下过程对我有用......
首先,将要在adb shell中执行的所有命令写入文件
cd /storage/emulated/legacy/
mkdir $(date +%d-%m-%Y)_OniFiles
mv *.oni $(date +%d-%m-%Y)_OniFiles
假设commands.txt 然后在批处理文件中提到
adb shell < C:/path/commands.txt
一定会有用..
答案 1 :(得分:0)
将adb shell
更改为
start adb.exe shell
答案 2 :(得分:0)
不确定是否了解您的需求,但“似乎”
set "localDate=%date:~6,4%-%date:~3,2%-%date:~0,2%"
md "c:\%localDate%"
rem Copy to local
adb pull /storage/emulated/legacy/*.oni "C:\%localDate%_OniFiles"
rem Do remote directory creation and file move
adb shell "mkdir /storage/emulated/legacy/$(date +%%d-%%m-%%Y)_OniFiles"
adb shell "mv /storage/emulated/legacy/*.oni /storage/emulated/legacy/$(date +%%d-%%m-%%Y)_OniFiles"
未经测试,无法测试。