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

  1. ваш скрипт получит две строки, так как fastboot getvar возвращает дополнительную строку по истечении времени.
  2. ваш скрипт анализирует версию с начальным пробелом, вы должны добавить пробел к разделителю (это по умолчанию, но когда вы даете разделители, он перезаписывается)

вы должны использовать:

for /f "tokens=2 delims=: " %%a in ('fastboot.exe getvar version-bootloader 2^>^&1 ^| findstr version') do @echo version is %%a
Другие вопросы по тегам