im正在寻找在同一文件夹中闪存多个*.img文件而不复制的正确方法"fastboot flash xxxxxxxxxx.img";所有行上的命令我希望输出像这个
flash boot... OKAY
flash recovery... OKAY
flash fastboot... OKAY
flash fastboot... FAILED
我在用
for %%i in (*.img) do fastboot flash %%i %%i do @echo flash %%i ...OKAY
但是输出不是我想要的
Start Flashing ....
target reported max download size of 805306368 bytes
sending 'boot.img' (131072 KB)...
OKAY [ 3.751s]
target reported max download size of 805306368 bytes
sending 'boot_b.img' (131072 KB)...
OKAY [ 3.755s]
writing 'boot_b.img'...
FAILED (remote: (boot_b.img_a) No such partition) ::: fail because partition name contain file extension
target reported max download size of 805306368 bytes
sending 'frp.img' (512 KB)...
OKAY [ 0.023s]
writing 'frp.img'...
FAILED (remote: (frp.img_a) No such partition)
target reported max download size of 805306368 bytes
sending 'modem.img' (262144 KB)...
OKAY [ 7.520s]
writing 'modem.img'...
FAILED (remote: (modem.img_a) No such partition)
它显示FAILED输出中没有这样的分区因为分区名称包含文件扩展名,并且它应该是";fastboot flash文件名filename.img"正确工作
for %%i in (*.img) do fastboot flash %%i %%i do @echo flash %%i ...ok
有什么帮助或建议来修复命令吗?
for %%i in (*.img) do SET "writing="&for /f "tokens=1,2delims=' %%u in ('fastboot flash "%%~ni" "%%i"') do (
IF DEFINED writing FOR /f %%y IN ("%%u") DO CALL ECHO %%writing%% %%%%y&SET "writing="
IF "%%u"=="writing " SET "writing=%%~nv"
)
应该做我认为你想做的事。
%%i
依次获取分配给它的每个文件的名称。
将writing
设置为nothing(这使得writing
未定义(后,使用参数flash
、文件名的名称部分和完整文件名执行fastboot
实用程序。则CCD_ 6的输出为"0";标记化的";使用'
作为分隔符,因此任何行都被分割——'
之前的任何部分被分配给%%u
,下一个'
之前的部分被分配到%%v
。
writing
开始时未定义。如果我们在%%u
中找到单词writing
(重要地包括空间(,则我们将writing
设置为%%v
中第一个和第二个'
s之间的部分;被处理为文件名(它是(并删除扩展名(%%~nv
(。
处理的下一行将是";FAILED/OKAY";报告,我们想要第一个单词,所以我们采用%%u
并使用默认的";token=1delims=;仅将该单词抓取到CCD_ 20;然后使用call echo
到echo
作为子壳中所需的数据来重制%%writing%% %%%%y
到%writing% %%y
。
没有保证,因为我必须模拟fastboot
的输出进行测试。
有关标记化的文档,请参阅提示中的for /?
,或者从SO 上的数千个示例中进行选择
找到解决方案。
for %%i in (*.img) do fastboot flash %%~ni %%i >nul 2>&1 && (
echo - Writing %%~ni ... OKAY
) || (
echo - Writing %%~ni ... FAILED
)
输出
- Writing boot_a ... OKAY
- Writing boot_b ... OKAY
- Writing dip ... OKAY
- Writing dsp_a ... OKAY
- Writing dtbo_a ... OKAY
- Writing dtbo_b ... OKAY
- Writing ffu ... OKAY
- Writing frp ... OKAY
- Writing fsc ... FAILED
- Writing fsg ... FAILED
- Writing imagefv_a ... OKAY
- Writing imagefv_b ... OKAY
- Writing mdtp_a ... OKAY
- Writing mdtp_b ... OKAY