Ordnen Sie die Ausgabe des Befehls Variable in Batch Datei
Ich versuche, ordnen Sie die Ausgabe eines Befehls in eine variable - in, ich versuche mit der aktuellen flash version auf eine variable. Ich weiß, das ist falsch, aber das ist, was ich versucht habe:
set var=reg query hklm\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion>
oder
reg query hklm\SOFTWARE\Macromedia\FlashPlayer\CurrentVersion >> set var
Ja, wie Sie sehen können ich bin ein wenig verloren. Jegliche Hilfe wird sehr geschätzt!
Wenn die unten Antworten, die nicht helfen, Suche Umleitung auf google.
mögliche Duplikate von Stapel-entspricht der Bash backticks
Eigentlich die ursprüngliche zu sein scheint Wie bekomme ich das Ergebnis eines Befehls in eine variable in windows?.
möglich, Duplikat der Batch-Dateien - Wie Sie von set-Befehlen die Ausgabe als variable
mögliche Duplikate von Stapel-entspricht der Bash backticks
Eigentlich die ursprüngliche zu sein scheint Wie bekomme ich das Ergebnis eines Befehls in eine variable in windows?.
möglich, Duplikat der Batch-Dateien - Wie Sie von set-Befehlen die Ausgabe als variable
InformationsquelleAutor user2283234 | 2013-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer Methode, die bereits entwickelt worden, doch diese Weise brauchen Sie nicht eine temp-Datei.
Aber, ich bin sicher das hat seine eigenen Ausnahmen und Einschränkungen.
Ich bekomme
%%i was unexpected at this time.
als Ergebnis, wenn ich den oben genannten Befehl ausführen. Nicht sicher, warum.wenn Sie diesen Befehl an der Befehlszeile, sollten Sie nur ein %. Ex:
for /f "delims=" %i in ('command') do set output=%i
Mit der Anweisung in einer batch-Datei, wenn
command
hat eine pipe ( | ), dann ist es Fehler raus: "| war unerwartet zu diesem Zeitpunkt." Kann jemand helfen mit der syntax, bitte?Flucht ein Rohr oder
&
mit einem^
:command1 ^| command2
InformationsquelleAutor BDM
Dieser Beitrag hat eine Methode, dies zu erreichen
InformationsquelleAutor Ian Kenney
Kann man nicht zuordnen, ein Prozess, output direkt in eine var, die Sie benötigen, durchsuchen Sie die Ausgabe mit einer For /F-Schleife:
http://ss64.com/nt/for_f.html
PS: Ändern der reg-Schlüssel, der verwendet wird, wenn nötig.
InformationsquelleAutor ElektroStudios
Okay, hier etwas komplexeren Beispiel für die Verwendung von Für /F
Packte ich es in die sub-Funktion :EXEC, sodass alle fiesen details der Implementierung nicht Würfen das Haupt-script.
So wurde es einigen ein bisschen, einige batch-tutorial.
Noten 'bout der code:
Dekoration Nummer zwei ist prompt -$G. Es ist da, um die Eingabeaufforderung so Aussehen ->
echo %1 -^>...
so gibt ^ macht es möglich, den Ausgang a '>' via echo, was anderes wäre nicht möglich gewesen.@if not "%output%"==""
sieht aus wie in den meisten gängigen Programmiersprachen - es ist vielleicht anders, die von dir erwartet (wenn Sie nicht verwendet werden, um MS-batch). Nun entfernen Sie das '@' am Anfang. Studieren Sie die Ausgabe. Ändern Sie es zunot %output%==""
-erneut ausführen und prüfen, warum dies nicht funktioniert. 😉InformationsquelleAutor Nadu
Dies ist Arbeit für mich
InformationsquelleAutor Chetabahana