0

バッチファイルから特定のfastboot変数を取得しようとしていました。私は次のようなものを使用していました:

for /f "tokens=2 delims=:" %%a in ('fastboot.exe getvar version-bootloader') do @echo version is %%a

しかし、変数%% aではなく、コマンドラインで出力を取得します。コマンド'fastboot.exegetvar version-bootloader'は、コマンドラインで完全に機能します。私もやってみました:

fastboot.exe getvar version-bootloader >> temp.txt

しかし、temp.txtは常に空であり、ファイルではなくコマンドラインで出力を受け取ります。これに代わるものはありますか?

4

1 に答える 1

1

fastboot出力はエラーストリームに送られます。追加することでエラーストリームを標準ストリームに送ることができます。2>&1

  1. fastboot getvarは時間の経過とともに追加の行を返すため、スクリプトは2行を取得します。
  2. スクリプトが先頭にスペースを含むバージョンを解析する場合、区切り文字にスペースを追加する必要があります(これはデフォルトですが、delimsを指定すると上書きされます)

使用する必要があります:

for /f "tokens=2 delims=: " %%a in ('fastboot.exe getvar version-bootloader 2^>^&1 ^| findstr version') do @echo version is %%a
于 2012-10-22T10:20:05.907 に答える