manny1988
Goto Top

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.
1f1cc43fb94baafb774bdb0844cd90d2
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.

Content-ID: 172150

Url: https://administrator.de/contentid/172150

Ausgedruckt am: 16.11.2024 um 03:11 Uhr

bastla
bastla 27.08.2011 um 10:48:00 Uhr
Goto Top
Hallo Manny1988!

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"
funktionieren ...

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%
Eine weitere Möglichkeit: Vielleicht gibt das Programm einen Errorlevel je nach Zustand zurück - das kannst Du so feststellen:
dfc get /isfrozen
echo %errorlevel%
Wenn unterschiedliche Werte geliefert werden, kannst Du mit zB
if errorlevel 1 (echo thawed.) else (echo frozen.)
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
Manny1988
Manny1988 27.08.2011 um 11:16:03 Uhr
Goto Top
Also ich habe mal rumexperimentiert Vorschlag STDOUT geht nicht, und Vorschlag auf Ausgabe als STDERR geht auch nicht. Aber das mit dem Errorlevel geht super, da hätte ich ja mal drauf kommen können face-smile Ich danke dir ganz herzlich, jetzt kann ich weiterarbeiten, danke :D
bastla
bastla 27.08.2011 um 11:20:06 Uhr
Goto Top
Hallo Manny1988!
das mit dem Errorlevel geht super
... sollte es ja auch auf Basis des oben verlinkten Dokuments ...

Grüße
bastla