我尝试使用批处理文件自动执行adb测试程序。每次运行文件后,都会生成.CloudData.txt
。我想在该文件名前加上一个试号T1.CloudData.txt
等。我制作了这个测试代码:
echo off
set /p loops="Enter a number of iterations: "
for /l %%i in (1,1,%loops%) do (
set file=//scard//mytest//T%%i.CloudData.txt
echo %file%
)
所以最终我可以有以下几点:
echo off
set /p loops="Enter a number of iterations: "
for /l %%i in (1,1,%loops%) do (
rem Execute adb commands for test
set file=//scard//mytest//T%%i.CloudData.txt
adb shell mv /sdcard/mytest/.CloudData.txt file
)
但是测试返回,假设loops
= 3,/sdcard/mytest/T3.CloudData.txt
3次。具体而言,loops
中存储的数字将添加到%%i
的位置。从我在以下帖子中读到的内容:bash script variable inside variable,我认为我应该使用一个数组,但如果有一天我必须运行测试的次数超过迭代次数,这是不切实际的。阵列许可。我该怎么办?
答案 0 :(得分:0)
echo off
setlocal enabledelayedexpansion
set /p loops="Enter a number of iterations: "
for /l %%i in (1,1,%loops%) do (
rem Execute adb commands for test
set file=//scard//mytest//T%%i.CloudData.txt
adb shell mv /sdcard/mytest/.CloudData.txt !file!
)
%%i
的原因似乎是3
三次(它不是')是变量%file%
,它是从上一次运行的脚本中留下的