fastboot getvar из командного файла
Я пытался получить некоторые переменные fastboot из командного файла. Я использовал что-то вроде:
for /f "tokens=2 delims=:" %%a in ('fastboot.exe getvar version-bootloader') do @echo version is %%a
Но я получаю вывод в командной строке, а не в переменной %%a. команда 'fastboot.exe getvar version-bootloader' отлично работает в командной строке. Я также попытался сделать:
fastboot.exe getvar version-bootloader >> temp.txt
но temp.txt всегда пуст, и я получаю вывод в командной строке, а не в файле. Есть ли альтернатива этому?
1 ответ
Решение
Вывод fastboot направляется в поток ошибок, вы можете направить поток ошибок в стандартный поток, добавив 2>&1
- ваш скрипт получит две строки, так как fastboot getvar возвращает дополнительную строку по истечении времени.
- ваш скрипт анализирует версию с начальным пробелом, вы должны добавить пробел к разделителю (это по умолчанию, но когда вы даете разделители, он перезаписывается)
вы должны использовать:
for /f "tokens=2 delims=: " %%a in ('fastboot.exe getvar version-bootloader 2^>^&1 ^| findstr version') do @echo version is %%a