2017-06-01 4 views
0

Ich habe keinen starken Hintergrund in Batch-Skripten, also Entschuldigung, wenn es eine offensichtliche Antwort gibt.Ausgabe Stapelbefehl an Variable

Ich versuche, die Ausgabe einer Eingabeaufforderung auf eine Variable zu richten. Ich kann zur Ausgabe in eine Datei wie diese

go test -race > output.txt 

In diesem Fall output.txt wird mit der Ausgabe des Go-Test -Rennen bevölkert. Was ich versuche zu tun, zur Ausgabe in eine Variable, etwas entlang der Linien von

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

Diese eine Datei nothotdog, die die Ausgabe von Go Test -Rennen hat, und Echos nothotdog, statt Echo der Ausgabe genannt erzeugt von go test -race

+1

Warum haben Sie 'echo% location%'? Das sieht Unsinn für mich aus. – SteveFest

+0

Entschuldigung, es war ein Kopier- und Einfügefehler – manrilla

Antwort

1

Um das Ergebnis eines Befehls korrekt zu erhalten, benötigen Sie eine for Schleife.

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

Wenn der Befehl mehr als eine einzelne Wort/Anzahl/Zeichen/Ziffer zur Ausgabe wurde dann vielleicht wäre dies besser sein:

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

Wenn der Befehl mehr als ein einzelnes Wort/eine Zahl/ein Zeichen/eine Ziffer ausgab, dann wäre das vielleicht besser: 'Für/F" Delims = "%% A In ('go test -race ') Setze "location = %% A" ' – Compo