filippg
Goto Top

STDOUT als virtuelle Datei (*nix-Like) ?

Hallo,

ich habe ein Programm (genauer gesagt dvipng), das die Ausgabe nur in eine Datei leiten kann. Unter Linux lässt sich nun als Ziel /dev/stdout angeben, womit die Ausgabe auf dem Standardt-Output umgeleitet wird, und somit mit anderen Programmen verkettet werden kann. Das hätte ich auch gerne unter WinXP.
Also: kann man den Standardtoutput auch mit einem Datei-Alias ansprechen?

Danke

Filipp

Content-Key: 21584

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

Printed on: April 21, 2024 at 03:04 o'clock

Member: Biber
Biber Dec 14, 2005 at 00:01:33 (UTC)
Goto Top
Hmmmm, nur eine Teilantwort kann ich liefern, filippg,

Du kannst den STDOUT-Kanal auch als Device/als Datei ansprechen. Heißt dann "CON:"

Habe ich auch schon in irgendwelchen Bätchelchen hier im Forum gemacht, Beispiel..

(irgendein Batch)
IF (%1)== () (
Set "logdatei=c:\logs\logdatei"
) else (
Set "logdatei=Con:"
)
...

das heißt, normalerweise wird alles in eine Logdatei geschrieben, bei Bedarf zauber ich die Logdatei-Einträge aber auf den Bildschirm. zum Beispiel beim Testen.

Also - wenn dieses dvipng es zulässt, kannst Du dem als Datei "CON:" anbieten. Klein/Großschreibung egal, aber der Doppelpunkt ist zwingend.
Allerdings - Wermutstropfen: ich hatte auch schon Programme, die eine Umleitung auf "Con:" nicht akzeptierten.

Weiterer Workaround: Es gibt auch eine Menge "Tee"-Freeware-Utilitities für Windows - mit denen sollte es machbar sein, die Ausgabe zusätzlich auf Console umzuleiten, falls sich die Ausgabe in eine "echte" Datei nicht umbiegen lässt.

Im Zweifelsfall schick mir mal per pn eine Mail-Addy, dann graben wir mal zusammen.
Grüße Biber
Member: filippg
filippg Dec 14, 2005 at 00:20:17 (UTC)
Goto Top
Hallo,

nach einem ersten kurzen Test scheint es so, als würde das mit dem CON: funktionieren. Super, Danke.

Filipp
Member: Biber
Biber Dec 14, 2005 at 00:27:26 (UTC)
Goto Top
Kein Problem, ich war eh noch wach face-wink

Frank / der Biber aus Bremen
Member: filippg
filippg Dec 15, 2005 at 00:11:09 (UTC)
Goto Top
Hallo,

das mit der Umleitung hat zwar grundsätzlich geklappt, nur hat C# (bzw. .Net) den Ausgabestrom so nicht akzeptiert. Ich vermute mal, es liegt daran, dass ja nicht nur der Datenstream, sondern eben auch befehle für Dateioperationen mit ausgegeben wurden. Aber ich lese halt jetzt einfach die Datei, hatte halt nur gehofft noch ein wenig Zeit zu sparen, wenn ich Streams statt Dateioperationen nehme.
Aber die nächsten Probleme sind auch schon wieder da: wenn jemand eine Idee hätte, wie man unter C# einen OLE-Server schreibt, der dann einen OLE-Container bereitstellen kann...

Filipp