2012-04-09 6 views
0

배치 파일에서 특정 빠른 부팅 변수를 가져 오려고했습니다. 나는 다음과 같은 것을 사용했다 :배치 파일에서 fastboot getvar

그러나 출력은 %% 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>&1

  1. 스크립트를 추가하여 표준 스트림에 오류 스트림을 지시 할 수있다.
  2. 스크립트가 선도적 인 공간 버전을 구문 분석,

당신이 사용해야 당신은 (기본값이지만이 delims을 줄 때 덮어 씁니다) 구분 기호로 공백을 추가 갈까요 :

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

jeb의 코멘트가 효과가 있었지만, 귀하의 의견을 통해 응답을 구문 분석 할 수있었습니다. Thnx –

관련 문제