如何通过批处理文件更改目录?

时间:2013-10-30 09:59:11

标签: batch-file cd

我正在为自己创建一个批处理文件(* .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 ...',没有任何运气。

你能帮帮我吗? 谢谢!

3 个答案:

答案 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"

未经测试,无法测试。