Echoausgabe als Variable
Guten morgen,
es geth darum, die Ausgabe einer Batch Datei, bzw die Ausgabe eines Programms, als Variable zu nutzen.
Und zwar habe ich ein Programm auf dem Rechner, mit dem ich einen Zustand auslesen kann, der entweder "FROZEN." oder "THAWED." ausgibt, wenn ich die entsprechenden Parameter in der CMD eingebe.
Jetzt möchte ich mit diesem Zustand gerne weiterarbeiten, aber ich schaffe es nicht, diese Ausgabe "THAWED." als Variable zu setzen. ich habe gelesen das es mit for /f möglich sein soll, habe es aber nicht geschafft. Meine "Googelei" hat nicht viel gebracht.
Ich bedanke mich schonmal im Vorraus, für eure Antworten.
es geth darum, die Ausgabe einer Batch Datei, bzw die Ausgabe eines Programms, als Variable zu nutzen.
Und zwar habe ich ein Programm auf dem Rechner, mit dem ich einen Zustand auslesen kann, der entweder "FROZEN." oder "THAWED." ausgibt, wenn ich die entsprechenden Parameter in der CMD eingebe.
Jetzt möchte ich mit diesem Zustand gerne weiterarbeiten, aber ich schaffe es nicht, diese Ausgabe "THAWED." als Variable zu setzen. ich habe gelesen das es mit for /f möglich sein soll, habe es aber nicht geschafft. Meine "Googelei" hat nicht viel gebracht.
Ich bedanke mich schonmal im Vorraus, für eure Antworten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172150
Url: https://administrator.de/contentid/172150
Ausgedruckt am: 16.11.2024 um 03:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Manny1988!
Es hängt davon ab, wie das Programm auf den Bildschirm schreibt - bei einer Ausgabe auf STDOUT sollte
funktionieren ...
Sollte die Ausgabe auf STDERR erfolgen, könnte das so gehen:
Eine weitere Möglichkeit: Vielleicht gibt das Programm einen Errorlevel je nach Zustand zurück - das kannst Du so feststellen:
Wenn unterschiedliche Werte geliefert werden, kannst Du mit zB
unterscheiden, ob der Errorlevel >=1 war oder nicht.
[Edit] Schau Dir mal Deep Freeze – Remote Administration with Secure Command Line Control an ... [/Edit]
Grüße
bastla
Es hängt davon ab, wie das Programm auf den Bildschirm schreibt - bei einer Ausgabe auf STDOUT sollte
for /f "delims=" %%i in ('dfc get /isfrozen') do set "Variable=%%i"
Sollte die Ausgabe auf STDERR erfolgen, könnte das so gehen:
setlocal
set T=%temp%\Ausgabe
dfc get /isfrozen 2>%T%
for /f "delims=" %%i in (%T%) do set set "Variable=%%i"
del %T%
dfc get /isfrozen
echo %errorlevel%
if errorlevel 1 (echo thawed.) else (echo frozen.)
[Edit] Schau Dir mal Deep Freeze – Remote Administration with Secure Command Line Control an ... [/Edit]
Grüße
bastla