2017-06-01 170 views
0

我在批處理腳本中沒有很強的背景,所以如果有明顯的答案,請致歉。將批處理命令輸出到變量

我想將命令提示符的輸出指向一個變量。我可以將它輸出到這樣的文件中

go test -race > output.txt 

在這種情況下,output.txt會使用go test -race的輸出填充。我所試圖做的是它輸出給一個變量,一些沿

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

線這將創建一個名爲nothotdog有不合格測試的-RACE輸出文件,並呼應,而不是呼應輸出nothotdog,去測試-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

如果命令輸出多個單詞/數字/字符/數字,那麼也許這會更好:'For/F「Delims =」%% A In -race')Do設置「location = %% A」' – Compo