0

我正在为自己制作一个批处理文件 (*.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/$(date +%d-%m-%Y)_OniFiles C:/$(date +%d-%m-%Y)_OniFiles'

不会被执行并停留在'$'。批处理文件输入代码似乎太深了。我还尝试使用相同的脚本推送 sh 并从 adb 运行它,但后来我得到的权限被拒绝。

我也试过 'adb shell cd /storage...' 没有任何运气。

你能帮助我吗?谢谢!

4

3 回答 3

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

它肯定会工作..

于 2016-05-19T06:29:46.503 回答
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"

没有测试过,也没有办法测试。

于 2013-10-30T12:12:44.717 回答
0

更改adb shell

start adb.exe shell
于 2013-10-30T11:16:47.107 回答