2012-04-09 13 views
0

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

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

しかし、出力は%%変数ではなく、コマンドラインで表示されます。コマンド 'fastboot.exe getvar version-bootloader'は完全にコマンドラインで動作します。私もやってみました:

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

をしかしTEMP.TXT常に空で、私が代わりにファイルを、コマンドラインで出力を受け取ります。これに代わる方法はありますか?

+1

'fastboot.exe'はstdoutストリームを使いません。 stream2をリダイレクトしようとする可能性があります。 'fastboot.exe getvar version-bootloader 2> temp.txt' – jeb

+0

これは動作します。 –

答えて

1

FASTBOOT出力はストリームをエラーに向けられている、あなたはFASTBOOTのgetvarは、経過時間と追加の行を返しますので、2つの行を取得します2>&1

  1. スクリプトを追加することにより、標準ストリームにエラーストリームを指示することができます。
  2. スクリプトが先頭にスペースを持つバージョンを解析し、

は、あなたが使用する必要があります(これはデフォルトですが、あなたはdelimsを与えるときは、上書きされ)区切り文字にスペースを追加shoud:

for /f "tokens=2 delims=: " %%a in ('fastboot.exe getvar version-bootloader 2^>^&1 ^| findstr version') do @echo version is %%a 
+0

jebのコメントは仕事をしましたが、あなたのコメントによって私はレスポンスを解析することができました。 Thnx –

関連する問題