2017-06-01 8 views
0

私はバッチスクリプトに強い背景を持っていないので、明白な答えがある場合は謝罪してください。バッチコマンドを変数に出力する

コマンドプロンプトの出力を変数に指示しようとしています。

go test -race > output.txt 

この場合、output.txtにgo test -raceの出力が取り込まれます。私は何をしようとしていますと、これは、外出先の試験-raceの出力を持っているnothotdogというファイルを作成し、nothotdogをエコー、代わりに出力をエコーの変数に出力して、

set iamavariable=nothotdog 
go test -race > %iamavariable% 
echo %location% 

の線に沿って何かでありますgo test -race

+1

なぜあなた 'エコー%場所%'?それは私にナンセンスに見えます。 – SteveFest

+0

申し訳ありません、コピー&ペーストエラーでした。 – manrilla

答えて

1

コマンドの結果を正しく取得するには、forループが必要です。コマンドは、単一の単語/数/文字/数字以上のものを出力した場合

for /f %%p in ('your command') do set result=%%p 
echo %result% 

おそらくこれは良いだろう:

For /F "Delims=" %%A In ('go test -race') Do Set "result=%%A" 
Echo %result% 
+3

コマンドが1つ以上の単語/数字/文字/数字を出力していた場合は、おそらくこれが良いでしょう: 'For/F" Delims = "%% A In( 'go test -race ')Set "location = %% A" ' – Compo

関連する問題