@EXECSTR[[n,]Befehl] : Führt den angegebenen Befehl aus  und gibt die Zeile n (oder die erste Zeile, wenn n nicht angegeben ist) zurück , die  vom Befehl auf stdout geschrieben wurde . Zum Beispiel die dritte Zeile, die von VER /R zurückgegeben wird:

 

echo %@execstr[2,ver /r]

 

Wenn n negativ ist, beginnt @EXECSTR bei der letzten Zeile und zählt rückwärts.

 

@EXECSTR ist nützlich, um ein Ergebnis von einem externen Dienstprogramm abzurufen. Wenn Sie zum Beispiel ein externes Dienstprogramm namens NETTIME.EXE haben , das die Uhrzeit von Ihrem Netzwerkserver abruft und auf die Standardausgabe schreibt, können Sie es mit einem Befehl wie diesem in einer Umgebungsvariablen speichern:

 

set server_time=%@execstr[d:\path\nettime.exe]

 

Wenn dasselbe Dienstprogramm ein für den TIME-Befehl richtig formatiertes Ergebnis zurückliefert, können Sie es auch zum Einstellen der Uhrzeit auf Ihrem System verwenden:

 

time %@execstr[d:\path\nettime.exe]

 

@EXECSTR kann auch mit internen Befehlen verwendet werden:

 

echo Newest file is: %@execstr[*dir /a:-d /h /o:-d /f]

 

@EXECSTR beinhaltet mehrere umfangreiche interne Verarbeitungsschritte. Möglicherweise können Sie komplexere Befehlssequenzen (Pipes, Befehlsgruppen usw.) als Parameter verwenden, doch sollten Sie dies vorhersorgfältig testen , da die Ergebnisse nicht immer den Erwartungen entsprechen. Wir empfehlen Ihnen, nur einen einzigen Befehlsparameter (intern, extern, Batch-Datei usw.) zu verwenden.

 

Siehe auch: _EXECSTR, @EXEC und @EXECARRAY.